package org.dslintegration.ui.contentassist.antlr.internal; 

import java.io.InputStream;
import org.eclipse.xtext.*;
import org.eclipse.xtext.parser.*;
import org.eclipse.xtext.parser.impl.*;
import org.eclipse.emf.ecore.util.EcoreUtil;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.xtext.parser.antlr.XtextTokenStream;
import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens;
import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.AbstractInternalContentAssistParser;
import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.DFA;
import org.dslintegration.services.MRulesGrammarAccess;



import org.antlr.runtime.*;
import java.util.Stack;
import java.util.List;
import java.util.ArrayList;

@SuppressWarnings("all")
public class InternalMRulesParser extends AbstractInternalContentAssistParser {
    public static final String[] tokenNames = new String[] {
        "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_STRING", "RULE_ID", "RULE_INT", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'LEFT'", "'RIGHT'", "'input left'", "';'", "'input right'", "'.'", "'source'", "'target'", "'output'", "'merge'", "'{'", "'}'", "'do'", "'as'", "'='", "'+'", "'default dominant '", "'dominant'", "'guard'", "'create'"
    };
    public static final int RULE_ID=5;
    public static final int T__29=29;
    public static final int T__28=28;
    public static final int T__27=27;
    public static final int T__26=26;
    public static final int T__25=25;
    public static final int T__24=24;
    public static final int T__23=23;
    public static final int T__22=22;
    public static final int RULE_ANY_OTHER=10;
    public static final int T__21=21;
    public static final int T__20=20;
    public static final int RULE_SL_COMMENT=8;
    public static final int EOF=-1;
    public static final int RULE_ML_COMMENT=7;
    public static final int T__30=30;
    public static final int T__19=19;
    public static final int RULE_STRING=4;
    public static final int T__16=16;
    public static final int T__15=15;
    public static final int T__18=18;
    public static final int T__17=17;
    public static final int T__12=12;
    public static final int T__11=11;
    public static final int T__14=14;
    public static final int T__13=13;
    public static final int RULE_INT=6;
    public static final int RULE_WS=9;

    // delegates
    // delegators


        public InternalMRulesParser(TokenStream input) {
            this(input, new RecognizerSharedState());
        }
        public InternalMRulesParser(TokenStream input, RecognizerSharedState state) {
            super(input, state);
             
        }
        

    public String[] getTokenNames() { return InternalMRulesParser.tokenNames; }
    public String getGrammarFileName() { return "../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g"; }


     
     	private MRulesGrammarAccess grammarAccess;
     	
        public void setGrammarAccess(MRulesGrammarAccess grammarAccess) {
        	this.grammarAccess = grammarAccess;
        }
        
        @Override
        protected Grammar getGrammar() {
        	return grammarAccess.getGrammar();
        }
        
        @Override
        protected String getValueForTokenName(String tokenName) {
        	return tokenName;
        }




    // $ANTLR start "entryRuleMergeRules"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:60:1: entryRuleMergeRules : ruleMergeRules EOF ;
    public final void entryRuleMergeRules() throws RecognitionException {
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:61:1: ( ruleMergeRules EOF )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:62:1: ruleMergeRules EOF
            {
             before(grammarAccess.getMergeRulesRule()); 
            pushFollow(FOLLOW_ruleMergeRules_in_entryRuleMergeRules61);
            ruleMergeRules();

            state._fsp--;

             after(grammarAccess.getMergeRulesRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleMergeRules68); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleMergeRules"


    // $ANTLR start "ruleMergeRules"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:69:1: ruleMergeRules : ( ( rule__MergeRules__Group__0 ) ) ;
    public final void ruleMergeRules() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:73:2: ( ( ( rule__MergeRules__Group__0 ) ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:74:1: ( ( rule__MergeRules__Group__0 ) )
            {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:74:1: ( ( rule__MergeRules__Group__0 ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:75:1: ( rule__MergeRules__Group__0 )
            {
             before(grammarAccess.getMergeRulesAccess().getGroup()); 
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:76:1: ( rule__MergeRules__Group__0 )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:76:2: rule__MergeRules__Group__0
            {
            pushFollow(FOLLOW_rule__MergeRules__Group__0_in_ruleMergeRules94);
            rule__MergeRules__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getMergeRulesAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleMergeRules"


    // $ANTLR start "entryRuleQName"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:88:1: entryRuleQName : ruleQName EOF ;
    public final void entryRuleQName() throws RecognitionException {
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:89:1: ( ruleQName EOF )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:90:1: ruleQName EOF
            {
             before(grammarAccess.getQNameRule()); 
            pushFollow(FOLLOW_ruleQName_in_entryRuleQName121);
            ruleQName();

            state._fsp--;

             after(grammarAccess.getQNameRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleQName128); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleQName"


    // $ANTLR start "ruleQName"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:97:1: ruleQName : ( ( rule__QName__Group__0 ) ) ;
    public final void ruleQName() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:101:2: ( ( ( rule__QName__Group__0 ) ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:102:1: ( ( rule__QName__Group__0 ) )
            {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:102:1: ( ( rule__QName__Group__0 ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:103:1: ( rule__QName__Group__0 )
            {
             before(grammarAccess.getQNameAccess().getGroup()); 
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:104:1: ( rule__QName__Group__0 )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:104:2: rule__QName__Group__0
            {
            pushFollow(FOLLOW_rule__QName__Group__0_in_ruleQName154);
            rule__QName__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getQNameAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleQName"


    // $ANTLR start "entryRuleSource"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:118:1: entryRuleSource : ruleSource EOF ;
    public final void entryRuleSource() throws RecognitionException {
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:119:1: ( ruleSource EOF )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:120:1: ruleSource EOF
            {
             before(grammarAccess.getSourceRule()); 
            pushFollow(FOLLOW_ruleSource_in_entryRuleSource183);
            ruleSource();

            state._fsp--;

             after(grammarAccess.getSourceRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleSource190); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleSource"


    // $ANTLR start "ruleSource"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:127:1: ruleSource : ( ( rule__Source__Group__0 ) ) ;
    public final void ruleSource() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:131:2: ( ( ( rule__Source__Group__0 ) ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:132:1: ( ( rule__Source__Group__0 ) )
            {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:132:1: ( ( rule__Source__Group__0 ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:133:1: ( rule__Source__Group__0 )
            {
             before(grammarAccess.getSourceAccess().getGroup()); 
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:134:1: ( rule__Source__Group__0 )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:134:2: rule__Source__Group__0
            {
            pushFollow(FOLLOW_rule__Source__Group__0_in_ruleSource216);
            rule__Source__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getSourceAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleSource"


    // $ANTLR start "entryRuleTarget"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:146:1: entryRuleTarget : ruleTarget EOF ;
    public final void entryRuleTarget() throws RecognitionException {
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:147:1: ( ruleTarget EOF )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:148:1: ruleTarget EOF
            {
             before(grammarAccess.getTargetRule()); 
            pushFollow(FOLLOW_ruleTarget_in_entryRuleTarget243);
            ruleTarget();

            state._fsp--;

             after(grammarAccess.getTargetRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleTarget250); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleTarget"


    // $ANTLR start "ruleTarget"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:155:1: ruleTarget : ( ( rule__Target__Group__0 ) ) ;
    public final void ruleTarget() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:159:2: ( ( ( rule__Target__Group__0 ) ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:160:1: ( ( rule__Target__Group__0 ) )
            {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:160:1: ( ( rule__Target__Group__0 ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:161:1: ( rule__Target__Group__0 )
            {
             before(grammarAccess.getTargetAccess().getGroup()); 
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:162:1: ( rule__Target__Group__0 )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:162:2: rule__Target__Group__0
            {
            pushFollow(FOLLOW_rule__Target__Group__0_in_ruleTarget276);
            rule__Target__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getTargetAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleTarget"


    // $ANTLR start "entryRuleOutput"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:174:1: entryRuleOutput : ruleOutput EOF ;
    public final void entryRuleOutput() throws RecognitionException {
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:175:1: ( ruleOutput EOF )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:176:1: ruleOutput EOF
            {
             before(grammarAccess.getOutputRule()); 
            pushFollow(FOLLOW_ruleOutput_in_entryRuleOutput303);
            ruleOutput();

            state._fsp--;

             after(grammarAccess.getOutputRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleOutput310); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleOutput"


    // $ANTLR start "ruleOutput"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:183:1: ruleOutput : ( ( rule__Output__Group__0 ) ) ;
    public final void ruleOutput() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:187:2: ( ( ( rule__Output__Group__0 ) ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:188:1: ( ( rule__Output__Group__0 ) )
            {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:188:1: ( ( rule__Output__Group__0 ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:189:1: ( rule__Output__Group__0 )
            {
             before(grammarAccess.getOutputAccess().getGroup()); 
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:190:1: ( rule__Output__Group__0 )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:190:2: rule__Output__Group__0
            {
            pushFollow(FOLLOW_rule__Output__Group__0_in_ruleOutput336);
            rule__Output__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getOutputAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleOutput"


    // $ANTLR start "entryRuleRule"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:202:1: entryRuleRule : ruleRule EOF ;
    public final void entryRuleRule() throws RecognitionException {
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:203:1: ( ruleRule EOF )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:204:1: ruleRule EOF
            {
             before(grammarAccess.getRuleRule()); 
            pushFollow(FOLLOW_ruleRule_in_entryRuleRule363);
            ruleRule();

            state._fsp--;

             after(grammarAccess.getRuleRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleRule370); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleRule"


    // $ANTLR start "ruleRule"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:211:1: ruleRule : ( ( rule__Rule__Group__0 ) ) ;
    public final void ruleRule() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:215:2: ( ( ( rule__Rule__Group__0 ) ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:216:1: ( ( rule__Rule__Group__0 ) )
            {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:216:1: ( ( rule__Rule__Group__0 ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:217:1: ( rule__Rule__Group__0 )
            {
             before(grammarAccess.getRuleAccess().getGroup()); 
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:218:1: ( rule__Rule__Group__0 )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:218:2: rule__Rule__Group__0
            {
            pushFollow(FOLLOW_rule__Rule__Group__0_in_ruleRule396);
            rule__Rule__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getRuleAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleRule"


    // $ANTLR start "entryRuleRuleStatement"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:230:1: entryRuleRuleStatement : ruleRuleStatement EOF ;
    public final void entryRuleRuleStatement() throws RecognitionException {
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:231:1: ( ruleRuleStatement EOF )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:232:1: ruleRuleStatement EOF
            {
             before(grammarAccess.getRuleStatementRule()); 
            pushFollow(FOLLOW_ruleRuleStatement_in_entryRuleRuleStatement423);
            ruleRuleStatement();

            state._fsp--;

             after(grammarAccess.getRuleStatementRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleRuleStatement430); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleRuleStatement"


    // $ANTLR start "ruleRuleStatement"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:239:1: ruleRuleStatement : ( ( rule__RuleStatement__Group__0 ) ) ;
    public final void ruleRuleStatement() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:243:2: ( ( ( rule__RuleStatement__Group__0 ) ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:244:1: ( ( rule__RuleStatement__Group__0 ) )
            {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:244:1: ( ( rule__RuleStatement__Group__0 ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:245:1: ( rule__RuleStatement__Group__0 )
            {
             before(grammarAccess.getRuleStatementAccess().getGroup()); 
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:246:1: ( rule__RuleStatement__Group__0 )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:246:2: rule__RuleStatement__Group__0
            {
            pushFollow(FOLLOW_rule__RuleStatement__Group__0_in_ruleRuleStatement456);
            rule__RuleStatement__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getRuleStatementAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleRuleStatement"


    // $ANTLR start "entryRuleExpression"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:258:1: entryRuleExpression : ruleExpression EOF ;
    public final void entryRuleExpression() throws RecognitionException {
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:259:1: ( ruleExpression EOF )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:260:1: ruleExpression EOF
            {
             before(grammarAccess.getExpressionRule()); 
            pushFollow(FOLLOW_ruleExpression_in_entryRuleExpression483);
            ruleExpression();

            state._fsp--;

             after(grammarAccess.getExpressionRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleExpression490); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleExpression"


    // $ANTLR start "ruleExpression"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:267:1: ruleExpression : ( ( rule__Expression__Group__0 ) ) ;
    public final void ruleExpression() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:271:2: ( ( ( rule__Expression__Group__0 ) ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:272:1: ( ( rule__Expression__Group__0 ) )
            {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:272:1: ( ( rule__Expression__Group__0 ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:273:1: ( rule__Expression__Group__0 )
            {
             before(grammarAccess.getExpressionAccess().getGroup()); 
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:274:1: ( rule__Expression__Group__0 )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:274:2: rule__Expression__Group__0
            {
            pushFollow(FOLLOW_rule__Expression__Group__0_in_ruleExpression516);
            rule__Expression__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getExpressionAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleExpression"


    // $ANTLR start "entryRuleRightAttribute"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:286:1: entryRuleRightAttribute : ruleRightAttribute EOF ;
    public final void entryRuleRightAttribute() throws RecognitionException {
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:287:1: ( ruleRightAttribute EOF )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:288:1: ruleRightAttribute EOF
            {
             before(grammarAccess.getRightAttributeRule()); 
            pushFollow(FOLLOW_ruleRightAttribute_in_entryRuleRightAttribute543);
            ruleRightAttribute();

            state._fsp--;

             after(grammarAccess.getRightAttributeRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleRightAttribute550); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleRightAttribute"


    // $ANTLR start "ruleRightAttribute"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:295:1: ruleRightAttribute : ( ( rule__RightAttribute__Group__0 ) ) ;
    public final void ruleRightAttribute() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:299:2: ( ( ( rule__RightAttribute__Group__0 ) ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:300:1: ( ( rule__RightAttribute__Group__0 ) )
            {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:300:1: ( ( rule__RightAttribute__Group__0 ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:301:1: ( rule__RightAttribute__Group__0 )
            {
             before(grammarAccess.getRightAttributeAccess().getGroup()); 
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:302:1: ( rule__RightAttribute__Group__0 )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:302:2: rule__RightAttribute__Group__0
            {
            pushFollow(FOLLOW_rule__RightAttribute__Group__0_in_ruleRightAttribute576);
            rule__RightAttribute__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getRightAttributeAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleRightAttribute"


    // $ANTLR start "entryRuleLeftAttribute"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:314:1: entryRuleLeftAttribute : ruleLeftAttribute EOF ;
    public final void entryRuleLeftAttribute() throws RecognitionException {
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:315:1: ( ruleLeftAttribute EOF )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:316:1: ruleLeftAttribute EOF
            {
             before(grammarAccess.getLeftAttributeRule()); 
            pushFollow(FOLLOW_ruleLeftAttribute_in_entryRuleLeftAttribute603);
            ruleLeftAttribute();

            state._fsp--;

             after(grammarAccess.getLeftAttributeRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleLeftAttribute610); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleLeftAttribute"


    // $ANTLR start "ruleLeftAttribute"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:323:1: ruleLeftAttribute : ( ( rule__LeftAttribute__Group__0 ) ) ;
    public final void ruleLeftAttribute() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:327:2: ( ( ( rule__LeftAttribute__Group__0 ) ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:328:1: ( ( rule__LeftAttribute__Group__0 ) )
            {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:328:1: ( ( rule__LeftAttribute__Group__0 ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:329:1: ( rule__LeftAttribute__Group__0 )
            {
             before(grammarAccess.getLeftAttributeAccess().getGroup()); 
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:330:1: ( rule__LeftAttribute__Group__0 )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:330:2: rule__LeftAttribute__Group__0
            {
            pushFollow(FOLLOW_rule__LeftAttribute__Group__0_in_ruleLeftAttribute636);
            rule__LeftAttribute__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getLeftAttributeAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleLeftAttribute"


    // $ANTLR start "rule__MergeRules__Alternatives_6_1"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:342:1: rule__MergeRules__Alternatives_6_1 : ( ( 'LEFT' ) | ( 'RIGHT' ) );
    public final void rule__MergeRules__Alternatives_6_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:346:1: ( ( 'LEFT' ) | ( 'RIGHT' ) )
            int alt1=2;
            int LA1_0 = input.LA(1);

            if ( (LA1_0==11) ) {
                alt1=1;
            }
            else if ( (LA1_0==12) ) {
                alt1=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 1, 0, input);

                throw nvae;
            }
            switch (alt1) {
                case 1 :
                    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:347:1: ( 'LEFT' )
                    {
                    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:347:1: ( 'LEFT' )
                    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:348:1: 'LEFT'
                    {
                     before(grammarAccess.getMergeRulesAccess().getLEFTKeyword_6_1_0()); 
                    match(input,11,FOLLOW_11_in_rule__MergeRules__Alternatives_6_1673); 
                     after(grammarAccess.getMergeRulesAccess().getLEFTKeyword_6_1_0()); 

                    }


                    }
                    break;
                case 2 :
                    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:355:6: ( 'RIGHT' )
                    {
                    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:355:6: ( 'RIGHT' )
                    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:356:1: 'RIGHT'
                    {
                     before(grammarAccess.getMergeRulesAccess().getRIGHTKeyword_6_1_1()); 
                    match(input,12,FOLLOW_12_in_rule__MergeRules__Alternatives_6_1693); 
                     after(grammarAccess.getMergeRulesAccess().getRIGHTKeyword_6_1_1()); 

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MergeRules__Alternatives_6_1"


    // $ANTLR start "rule__Expression__Alternatives_1_1"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:368:1: rule__Expression__Alternatives_1_1 : ( ( ( rule__Expression__LeftAssignment_1_1_0 ) ) | ( RULE_STRING ) );
    public final void rule__Expression__Alternatives_1_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:372:1: ( ( ( rule__Expression__LeftAssignment_1_1_0 ) ) | ( RULE_STRING ) )
            int alt2=2;
            int LA2_0 = input.LA(1);

            if ( (LA2_0==RULE_ID) ) {
                alt2=1;
            }
            else if ( (LA2_0==RULE_STRING) ) {
                alt2=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 2, 0, input);

                throw nvae;
            }
            switch (alt2) {
                case 1 :
                    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:373:1: ( ( rule__Expression__LeftAssignment_1_1_0 ) )
                    {
                    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:373:1: ( ( rule__Expression__LeftAssignment_1_1_0 ) )
                    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:374:1: ( rule__Expression__LeftAssignment_1_1_0 )
                    {
                     before(grammarAccess.getExpressionAccess().getLeftAssignment_1_1_0()); 
                    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:375:1: ( rule__Expression__LeftAssignment_1_1_0 )
                    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:375:2: rule__Expression__LeftAssignment_1_1_0
                    {
                    pushFollow(FOLLOW_rule__Expression__LeftAssignment_1_1_0_in_rule__Expression__Alternatives_1_1727);
                    rule__Expression__LeftAssignment_1_1_0();

                    state._fsp--;


                    }

                     after(grammarAccess.getExpressionAccess().getLeftAssignment_1_1_0()); 

                    }


                    }
                    break;
                case 2 :
                    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:379:6: ( RULE_STRING )
                    {
                    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:379:6: ( RULE_STRING )
                    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:380:1: RULE_STRING
                    {
                     before(grammarAccess.getExpressionAccess().getSTRINGTerminalRuleCall_1_1_1()); 
                    match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__Expression__Alternatives_1_1745); 
                     after(grammarAccess.getExpressionAccess().getSTRINGTerminalRuleCall_1_1_1()); 

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Expression__Alternatives_1_1"


    // $ANTLR start "rule__Expression__Alternatives_4_1"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:390:1: rule__Expression__Alternatives_4_1 : ( ( ( rule__Expression__RightAssignment_4_1_0 ) ) | ( RULE_STRING ) );
    public final void rule__Expression__Alternatives_4_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:394:1: ( ( ( rule__Expression__RightAssignment_4_1_0 ) ) | ( RULE_STRING ) )
            int alt3=2;
            int LA3_0 = input.LA(1);

            if ( (LA3_0==RULE_ID) ) {
                alt3=1;
            }
            else if ( (LA3_0==RULE_STRING) ) {
                alt3=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 3, 0, input);

                throw nvae;
            }
            switch (alt3) {
                case 1 :
                    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:395:1: ( ( rule__Expression__RightAssignment_4_1_0 ) )
                    {
                    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:395:1: ( ( rule__Expression__RightAssignment_4_1_0 ) )
                    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:396:1: ( rule__Expression__RightAssignment_4_1_0 )
                    {
                     before(grammarAccess.getExpressionAccess().getRightAssignment_4_1_0()); 
                    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:397:1: ( rule__Expression__RightAssignment_4_1_0 )
                    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:397:2: rule__Expression__RightAssignment_4_1_0
                    {
                    pushFollow(FOLLOW_rule__Expression__RightAssignment_4_1_0_in_rule__Expression__Alternatives_4_1777);
                    rule__Expression__RightAssignment_4_1_0();

                    state._fsp--;


                    }

                     after(grammarAccess.getExpressionAccess().getRightAssignment_4_1_0()); 

                    }


                    }
                    break;
                case 2 :
                    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:401:6: ( RULE_STRING )
                    {
                    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:401:6: ( RULE_STRING )
                    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:402:1: RULE_STRING
                    {
                     before(grammarAccess.getExpressionAccess().getSTRINGTerminalRuleCall_4_1_1()); 
                    match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__Expression__Alternatives_4_1795); 
                     after(grammarAccess.getExpressionAccess().getSTRINGTerminalRuleCall_4_1_1()); 

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Expression__Alternatives_4_1"


    // $ANTLR start "rule__MergeRules__Group__0"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:414:1: rule__MergeRules__Group__0 : rule__MergeRules__Group__0__Impl rule__MergeRules__Group__1 ;
    public final void rule__MergeRules__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:418:1: ( rule__MergeRules__Group__0__Impl rule__MergeRules__Group__1 )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:419:2: rule__MergeRules__Group__0__Impl rule__MergeRules__Group__1
            {
            pushFollow(FOLLOW_rule__MergeRules__Group__0__Impl_in_rule__MergeRules__Group__0825);
            rule__MergeRules__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__MergeRules__Group__1_in_rule__MergeRules__Group__0828);
            rule__MergeRules__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MergeRules__Group__0"


    // $ANTLR start "rule__MergeRules__Group__0__Impl"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:426:1: rule__MergeRules__Group__0__Impl : ( 'input left' ) ;
    public final void rule__MergeRules__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:430:1: ( ( 'input left' ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:431:1: ( 'input left' )
            {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:431:1: ( 'input left' )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:432:1: 'input left'
            {
             before(grammarAccess.getMergeRulesAccess().getInputLeftKeyword_0()); 
            match(input,13,FOLLOW_13_in_rule__MergeRules__Group__0__Impl856); 
             after(grammarAccess.getMergeRulesAccess().getInputLeftKeyword_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MergeRules__Group__0__Impl"


    // $ANTLR start "rule__MergeRules__Group__1"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:445:1: rule__MergeRules__Group__1 : rule__MergeRules__Group__1__Impl rule__MergeRules__Group__2 ;
    public final void rule__MergeRules__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:449:1: ( rule__MergeRules__Group__1__Impl rule__MergeRules__Group__2 )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:450:2: rule__MergeRules__Group__1__Impl rule__MergeRules__Group__2
            {
            pushFollow(FOLLOW_rule__MergeRules__Group__1__Impl_in_rule__MergeRules__Group__1887);
            rule__MergeRules__Group__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__MergeRules__Group__2_in_rule__MergeRules__Group__1890);
            rule__MergeRules__Group__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MergeRules__Group__1"


    // $ANTLR start "rule__MergeRules__Group__1__Impl"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:457:1: rule__MergeRules__Group__1__Impl : ( ( rule__MergeRules__MetamodelPathLeftAssignment_1 ) ) ;
    public final void rule__MergeRules__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:461:1: ( ( ( rule__MergeRules__MetamodelPathLeftAssignment_1 ) ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:462:1: ( ( rule__MergeRules__MetamodelPathLeftAssignment_1 ) )
            {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:462:1: ( ( rule__MergeRules__MetamodelPathLeftAssignment_1 ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:463:1: ( rule__MergeRules__MetamodelPathLeftAssignment_1 )
            {
             before(grammarAccess.getMergeRulesAccess().getMetamodelPathLeftAssignment_1()); 
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:464:1: ( rule__MergeRules__MetamodelPathLeftAssignment_1 )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:464:2: rule__MergeRules__MetamodelPathLeftAssignment_1
            {
            pushFollow(FOLLOW_rule__MergeRules__MetamodelPathLeftAssignment_1_in_rule__MergeRules__Group__1__Impl917);
            rule__MergeRules__MetamodelPathLeftAssignment_1();

            state._fsp--;


            }

             after(grammarAccess.getMergeRulesAccess().getMetamodelPathLeftAssignment_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MergeRules__Group__1__Impl"


    // $ANTLR start "rule__MergeRules__Group__2"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:474:1: rule__MergeRules__Group__2 : rule__MergeRules__Group__2__Impl rule__MergeRules__Group__3 ;
    public final void rule__MergeRules__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:478:1: ( rule__MergeRules__Group__2__Impl rule__MergeRules__Group__3 )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:479:2: rule__MergeRules__Group__2__Impl rule__MergeRules__Group__3
            {
            pushFollow(FOLLOW_rule__MergeRules__Group__2__Impl_in_rule__MergeRules__Group__2947);
            rule__MergeRules__Group__2__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__MergeRules__Group__3_in_rule__MergeRules__Group__2950);
            rule__MergeRules__Group__3();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MergeRules__Group__2"


    // $ANTLR start "rule__MergeRules__Group__2__Impl"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:486:1: rule__MergeRules__Group__2__Impl : ( ';' ) ;
    public final void rule__MergeRules__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:490:1: ( ( ';' ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:491:1: ( ';' )
            {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:491:1: ( ';' )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:492:1: ';'
            {
             before(grammarAccess.getMergeRulesAccess().getSemicolonKeyword_2()); 
            match(input,14,FOLLOW_14_in_rule__MergeRules__Group__2__Impl978); 
             after(grammarAccess.getMergeRulesAccess().getSemicolonKeyword_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MergeRules__Group__2__Impl"


    // $ANTLR start "rule__MergeRules__Group__3"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:505:1: rule__MergeRules__Group__3 : rule__MergeRules__Group__3__Impl rule__MergeRules__Group__4 ;
    public final void rule__MergeRules__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:509:1: ( rule__MergeRules__Group__3__Impl rule__MergeRules__Group__4 )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:510:2: rule__MergeRules__Group__3__Impl rule__MergeRules__Group__4
            {
            pushFollow(FOLLOW_rule__MergeRules__Group__3__Impl_in_rule__MergeRules__Group__31009);
            rule__MergeRules__Group__3__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__MergeRules__Group__4_in_rule__MergeRules__Group__31012);
            rule__MergeRules__Group__4();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MergeRules__Group__3"


    // $ANTLR start "rule__MergeRules__Group__3__Impl"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:517:1: rule__MergeRules__Group__3__Impl : ( 'input right' ) ;
    public final void rule__MergeRules__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:521:1: ( ( 'input right' ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:522:1: ( 'input right' )
            {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:522:1: ( 'input right' )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:523:1: 'input right'
            {
             before(grammarAccess.getMergeRulesAccess().getInputRightKeyword_3()); 
            match(input,15,FOLLOW_15_in_rule__MergeRules__Group__3__Impl1040); 
             after(grammarAccess.getMergeRulesAccess().getInputRightKeyword_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MergeRules__Group__3__Impl"


    // $ANTLR start "rule__MergeRules__Group__4"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:536:1: rule__MergeRules__Group__4 : rule__MergeRules__Group__4__Impl rule__MergeRules__Group__5 ;
    public final void rule__MergeRules__Group__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:540:1: ( rule__MergeRules__Group__4__Impl rule__MergeRules__Group__5 )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:541:2: rule__MergeRules__Group__4__Impl rule__MergeRules__Group__5
            {
            pushFollow(FOLLOW_rule__MergeRules__Group__4__Impl_in_rule__MergeRules__Group__41071);
            rule__MergeRules__Group__4__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__MergeRules__Group__5_in_rule__MergeRules__Group__41074);
            rule__MergeRules__Group__5();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MergeRules__Group__4"


    // $ANTLR start "rule__MergeRules__Group__4__Impl"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:548:1: rule__MergeRules__Group__4__Impl : ( ( rule__MergeRules__MetamodelPathRightAssignment_4 ) ) ;
    public final void rule__MergeRules__Group__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:552:1: ( ( ( rule__MergeRules__MetamodelPathRightAssignment_4 ) ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:553:1: ( ( rule__MergeRules__MetamodelPathRightAssignment_4 ) )
            {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:553:1: ( ( rule__MergeRules__MetamodelPathRightAssignment_4 ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:554:1: ( rule__MergeRules__MetamodelPathRightAssignment_4 )
            {
             before(grammarAccess.getMergeRulesAccess().getMetamodelPathRightAssignment_4()); 
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:555:1: ( rule__MergeRules__MetamodelPathRightAssignment_4 )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:555:2: rule__MergeRules__MetamodelPathRightAssignment_4
            {
            pushFollow(FOLLOW_rule__MergeRules__MetamodelPathRightAssignment_4_in_rule__MergeRules__Group__4__Impl1101);
            rule__MergeRules__MetamodelPathRightAssignment_4();

            state._fsp--;


            }

             after(grammarAccess.getMergeRulesAccess().getMetamodelPathRightAssignment_4()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MergeRules__Group__4__Impl"


    // $ANTLR start "rule__MergeRules__Group__5"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:565:1: rule__MergeRules__Group__5 : rule__MergeRules__Group__5__Impl rule__MergeRules__Group__6 ;
    public final void rule__MergeRules__Group__5() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:569:1: ( rule__MergeRules__Group__5__Impl rule__MergeRules__Group__6 )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:570:2: rule__MergeRules__Group__5__Impl rule__MergeRules__Group__6
            {
            pushFollow(FOLLOW_rule__MergeRules__Group__5__Impl_in_rule__MergeRules__Group__51131);
            rule__MergeRules__Group__5__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__MergeRules__Group__6_in_rule__MergeRules__Group__51134);
            rule__MergeRules__Group__6();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MergeRules__Group__5"


    // $ANTLR start "rule__MergeRules__Group__5__Impl"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:577:1: rule__MergeRules__Group__5__Impl : ( ';' ) ;
    public final void rule__MergeRules__Group__5__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:581:1: ( ( ';' ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:582:1: ( ';' )
            {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:582:1: ( ';' )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:583:1: ';'
            {
             before(grammarAccess.getMergeRulesAccess().getSemicolonKeyword_5()); 
            match(input,14,FOLLOW_14_in_rule__MergeRules__Group__5__Impl1162); 
             after(grammarAccess.getMergeRulesAccess().getSemicolonKeyword_5()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MergeRules__Group__5__Impl"


    // $ANTLR start "rule__MergeRules__Group__6"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:596:1: rule__MergeRules__Group__6 : rule__MergeRules__Group__6__Impl rule__MergeRules__Group__7 ;
    public final void rule__MergeRules__Group__6() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:600:1: ( rule__MergeRules__Group__6__Impl rule__MergeRules__Group__7 )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:601:2: rule__MergeRules__Group__6__Impl rule__MergeRules__Group__7
            {
            pushFollow(FOLLOW_rule__MergeRules__Group__6__Impl_in_rule__MergeRules__Group__61193);
            rule__MergeRules__Group__6__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__MergeRules__Group__7_in_rule__MergeRules__Group__61196);
            rule__MergeRules__Group__7();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MergeRules__Group__6"


    // $ANTLR start "rule__MergeRules__Group__6__Impl"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:608:1: rule__MergeRules__Group__6__Impl : ( ( rule__MergeRules__Group_6__0 )? ) ;
    public final void rule__MergeRules__Group__6__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:612:1: ( ( ( rule__MergeRules__Group_6__0 )? ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:613:1: ( ( rule__MergeRules__Group_6__0 )? )
            {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:613:1: ( ( rule__MergeRules__Group_6__0 )? )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:614:1: ( rule__MergeRules__Group_6__0 )?
            {
             before(grammarAccess.getMergeRulesAccess().getGroup_6()); 
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:615:1: ( rule__MergeRules__Group_6__0 )?
            int alt4=2;
            int LA4_0 = input.LA(1);

            if ( (LA4_0==27) ) {
                alt4=1;
            }
            switch (alt4) {
                case 1 :
                    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:615:2: rule__MergeRules__Group_6__0
                    {
                    pushFollow(FOLLOW_rule__MergeRules__Group_6__0_in_rule__MergeRules__Group__6__Impl1223);
                    rule__MergeRules__Group_6__0();

                    state._fsp--;


                    }
                    break;

            }

             after(grammarAccess.getMergeRulesAccess().getGroup_6()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MergeRules__Group__6__Impl"


    // $ANTLR start "rule__MergeRules__Group__7"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:625:1: rule__MergeRules__Group__7 : rule__MergeRules__Group__7__Impl ;
    public final void rule__MergeRules__Group__7() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:629:1: ( rule__MergeRules__Group__7__Impl )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:630:2: rule__MergeRules__Group__7__Impl
            {
            pushFollow(FOLLOW_rule__MergeRules__Group__7__Impl_in_rule__MergeRules__Group__71254);
            rule__MergeRules__Group__7__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MergeRules__Group__7"


    // $ANTLR start "rule__MergeRules__Group__7__Impl"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:636:1: rule__MergeRules__Group__7__Impl : ( ( ( rule__MergeRules__RulesAssignment_7 ) ) ( ( rule__MergeRules__RulesAssignment_7 )* ) ) ;
    public final void rule__MergeRules__Group__7__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:640:1: ( ( ( ( rule__MergeRules__RulesAssignment_7 ) ) ( ( rule__MergeRules__RulesAssignment_7 )* ) ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:641:1: ( ( ( rule__MergeRules__RulesAssignment_7 ) ) ( ( rule__MergeRules__RulesAssignment_7 )* ) )
            {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:641:1: ( ( ( rule__MergeRules__RulesAssignment_7 ) ) ( ( rule__MergeRules__RulesAssignment_7 )* ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:642:1: ( ( rule__MergeRules__RulesAssignment_7 ) ) ( ( rule__MergeRules__RulesAssignment_7 )* )
            {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:642:1: ( ( rule__MergeRules__RulesAssignment_7 ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:643:1: ( rule__MergeRules__RulesAssignment_7 )
            {
             before(grammarAccess.getMergeRulesAccess().getRulesAssignment_7()); 
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:644:1: ( rule__MergeRules__RulesAssignment_7 )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:644:2: rule__MergeRules__RulesAssignment_7
            {
            pushFollow(FOLLOW_rule__MergeRules__RulesAssignment_7_in_rule__MergeRules__Group__7__Impl1283);
            rule__MergeRules__RulesAssignment_7();

            state._fsp--;


            }

             after(grammarAccess.getMergeRulesAccess().getRulesAssignment_7()); 

            }

            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:647:1: ( ( rule__MergeRules__RulesAssignment_7 )* )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:648:1: ( rule__MergeRules__RulesAssignment_7 )*
            {
             before(grammarAccess.getMergeRulesAccess().getRulesAssignment_7()); 
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:649:1: ( rule__MergeRules__RulesAssignment_7 )*
            loop5:
            do {
                int alt5=2;
                int LA5_0 = input.LA(1);

                if ( (LA5_0==20) ) {
                    alt5=1;
                }


                switch (alt5) {
            	case 1 :
            	    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:649:2: rule__MergeRules__RulesAssignment_7
            	    {
            	    pushFollow(FOLLOW_rule__MergeRules__RulesAssignment_7_in_rule__MergeRules__Group__7__Impl1295);
            	    rule__MergeRules__RulesAssignment_7();

            	    state._fsp--;


            	    }
            	    break;

            	default :
            	    break loop5;
                }
            } while (true);

             after(grammarAccess.getMergeRulesAccess().getRulesAssignment_7()); 

            }


            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MergeRules__Group__7__Impl"


    // $ANTLR start "rule__MergeRules__Group_6__0"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:676:1: rule__MergeRules__Group_6__0 : rule__MergeRules__Group_6__0__Impl rule__MergeRules__Group_6__1 ;
    public final void rule__MergeRules__Group_6__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:680:1: ( rule__MergeRules__Group_6__0__Impl rule__MergeRules__Group_6__1 )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:681:2: rule__MergeRules__Group_6__0__Impl rule__MergeRules__Group_6__1
            {
            pushFollow(FOLLOW_rule__MergeRules__Group_6__0__Impl_in_rule__MergeRules__Group_6__01344);
            rule__MergeRules__Group_6__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__MergeRules__Group_6__1_in_rule__MergeRules__Group_6__01347);
            rule__MergeRules__Group_6__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MergeRules__Group_6__0"


    // $ANTLR start "rule__MergeRules__Group_6__0__Impl"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:688:1: rule__MergeRules__Group_6__0__Impl : ( ( rule__MergeRules__DefaultDominantAssignment_6_0 ) ) ;
    public final void rule__MergeRules__Group_6__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:692:1: ( ( ( rule__MergeRules__DefaultDominantAssignment_6_0 ) ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:693:1: ( ( rule__MergeRules__DefaultDominantAssignment_6_0 ) )
            {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:693:1: ( ( rule__MergeRules__DefaultDominantAssignment_6_0 ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:694:1: ( rule__MergeRules__DefaultDominantAssignment_6_0 )
            {
             before(grammarAccess.getMergeRulesAccess().getDefaultDominantAssignment_6_0()); 
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:695:1: ( rule__MergeRules__DefaultDominantAssignment_6_0 )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:695:2: rule__MergeRules__DefaultDominantAssignment_6_0
            {
            pushFollow(FOLLOW_rule__MergeRules__DefaultDominantAssignment_6_0_in_rule__MergeRules__Group_6__0__Impl1374);
            rule__MergeRules__DefaultDominantAssignment_6_0();

            state._fsp--;


            }

             after(grammarAccess.getMergeRulesAccess().getDefaultDominantAssignment_6_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MergeRules__Group_6__0__Impl"


    // $ANTLR start "rule__MergeRules__Group_6__1"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:705:1: rule__MergeRules__Group_6__1 : rule__MergeRules__Group_6__1__Impl rule__MergeRules__Group_6__2 ;
    public final void rule__MergeRules__Group_6__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:709:1: ( rule__MergeRules__Group_6__1__Impl rule__MergeRules__Group_6__2 )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:710:2: rule__MergeRules__Group_6__1__Impl rule__MergeRules__Group_6__2
            {
            pushFollow(FOLLOW_rule__MergeRules__Group_6__1__Impl_in_rule__MergeRules__Group_6__11404);
            rule__MergeRules__Group_6__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__MergeRules__Group_6__2_in_rule__MergeRules__Group_6__11407);
            rule__MergeRules__Group_6__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MergeRules__Group_6__1"


    // $ANTLR start "rule__MergeRules__Group_6__1__Impl"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:717:1: rule__MergeRules__Group_6__1__Impl : ( ( rule__MergeRules__Alternatives_6_1 ) ) ;
    public final void rule__MergeRules__Group_6__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:721:1: ( ( ( rule__MergeRules__Alternatives_6_1 ) ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:722:1: ( ( rule__MergeRules__Alternatives_6_1 ) )
            {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:722:1: ( ( rule__MergeRules__Alternatives_6_1 ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:723:1: ( rule__MergeRules__Alternatives_6_1 )
            {
             before(grammarAccess.getMergeRulesAccess().getAlternatives_6_1()); 
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:724:1: ( rule__MergeRules__Alternatives_6_1 )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:724:2: rule__MergeRules__Alternatives_6_1
            {
            pushFollow(FOLLOW_rule__MergeRules__Alternatives_6_1_in_rule__MergeRules__Group_6__1__Impl1434);
            rule__MergeRules__Alternatives_6_1();

            state._fsp--;


            }

             after(grammarAccess.getMergeRulesAccess().getAlternatives_6_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MergeRules__Group_6__1__Impl"


    // $ANTLR start "rule__MergeRules__Group_6__2"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:734:1: rule__MergeRules__Group_6__2 : rule__MergeRules__Group_6__2__Impl ;
    public final void rule__MergeRules__Group_6__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:738:1: ( rule__MergeRules__Group_6__2__Impl )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:739:2: rule__MergeRules__Group_6__2__Impl
            {
            pushFollow(FOLLOW_rule__MergeRules__Group_6__2__Impl_in_rule__MergeRules__Group_6__21464);
            rule__MergeRules__Group_6__2__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MergeRules__Group_6__2"


    // $ANTLR start "rule__MergeRules__Group_6__2__Impl"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:745:1: rule__MergeRules__Group_6__2__Impl : ( ';' ) ;
    public final void rule__MergeRules__Group_6__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:749:1: ( ( ';' ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:750:1: ( ';' )
            {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:750:1: ( ';' )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:751:1: ';'
            {
             before(grammarAccess.getMergeRulesAccess().getSemicolonKeyword_6_2()); 
            match(input,14,FOLLOW_14_in_rule__MergeRules__Group_6__2__Impl1492); 
             after(grammarAccess.getMergeRulesAccess().getSemicolonKeyword_6_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MergeRules__Group_6__2__Impl"


    // $ANTLR start "rule__QName__Group__0"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:770:1: rule__QName__Group__0 : rule__QName__Group__0__Impl rule__QName__Group__1 ;
    public final void rule__QName__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:774:1: ( rule__QName__Group__0__Impl rule__QName__Group__1 )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:775:2: rule__QName__Group__0__Impl rule__QName__Group__1
            {
            pushFollow(FOLLOW_rule__QName__Group__0__Impl_in_rule__QName__Group__01529);
            rule__QName__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__QName__Group__1_in_rule__QName__Group__01532);
            rule__QName__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__QName__Group__0"


    // $ANTLR start "rule__QName__Group__0__Impl"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:782:1: rule__QName__Group__0__Impl : ( RULE_ID ) ;
    public final void rule__QName__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:786:1: ( ( RULE_ID ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:787:1: ( RULE_ID )
            {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:787:1: ( RULE_ID )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:788:1: RULE_ID
            {
             before(grammarAccess.getQNameAccess().getIDTerminalRuleCall_0()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__QName__Group__0__Impl1559); 
             after(grammarAccess.getQNameAccess().getIDTerminalRuleCall_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__QName__Group__0__Impl"


    // $ANTLR start "rule__QName__Group__1"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:799:1: rule__QName__Group__1 : rule__QName__Group__1__Impl ;
    public final void rule__QName__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:803:1: ( rule__QName__Group__1__Impl )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:804:2: rule__QName__Group__1__Impl
            {
            pushFollow(FOLLOW_rule__QName__Group__1__Impl_in_rule__QName__Group__11588);
            rule__QName__Group__1__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__QName__Group__1"


    // $ANTLR start "rule__QName__Group__1__Impl"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:810:1: rule__QName__Group__1__Impl : ( ( rule__QName__Group_1__0 )* ) ;
    public final void rule__QName__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:814:1: ( ( ( rule__QName__Group_1__0 )* ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:815:1: ( ( rule__QName__Group_1__0 )* )
            {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:815:1: ( ( rule__QName__Group_1__0 )* )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:816:1: ( rule__QName__Group_1__0 )*
            {
             before(grammarAccess.getQNameAccess().getGroup_1()); 
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:817:1: ( rule__QName__Group_1__0 )*
            loop6:
            do {
                int alt6=2;
                int LA6_0 = input.LA(1);

                if ( (LA6_0==16) ) {
                    alt6=1;
                }


                switch (alt6) {
            	case 1 :
            	    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:817:2: rule__QName__Group_1__0
            	    {
            	    pushFollow(FOLLOW_rule__QName__Group_1__0_in_rule__QName__Group__1__Impl1615);
            	    rule__QName__Group_1__0();

            	    state._fsp--;


            	    }
            	    break;

            	default :
            	    break loop6;
                }
            } while (true);

             after(grammarAccess.getQNameAccess().getGroup_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__QName__Group__1__Impl"


    // $ANTLR start "rule__QName__Group_1__0"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:831:1: rule__QName__Group_1__0 : rule__QName__Group_1__0__Impl rule__QName__Group_1__1 ;
    public final void rule__QName__Group_1__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:835:1: ( rule__QName__Group_1__0__Impl rule__QName__Group_1__1 )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:836:2: rule__QName__Group_1__0__Impl rule__QName__Group_1__1
            {
            pushFollow(FOLLOW_rule__QName__Group_1__0__Impl_in_rule__QName__Group_1__01650);
            rule__QName__Group_1__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__QName__Group_1__1_in_rule__QName__Group_1__01653);
            rule__QName__Group_1__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__QName__Group_1__0"


    // $ANTLR start "rule__QName__Group_1__0__Impl"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:843:1: rule__QName__Group_1__0__Impl : ( '.' ) ;
    public final void rule__QName__Group_1__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:847:1: ( ( '.' ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:848:1: ( '.' )
            {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:848:1: ( '.' )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:849:1: '.'
            {
             before(grammarAccess.getQNameAccess().getFullStopKeyword_1_0()); 
            match(input,16,FOLLOW_16_in_rule__QName__Group_1__0__Impl1681); 
             after(grammarAccess.getQNameAccess().getFullStopKeyword_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__QName__Group_1__0__Impl"


    // $ANTLR start "rule__QName__Group_1__1"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:862:1: rule__QName__Group_1__1 : rule__QName__Group_1__1__Impl ;
    public final void rule__QName__Group_1__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:866:1: ( rule__QName__Group_1__1__Impl )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:867:2: rule__QName__Group_1__1__Impl
            {
            pushFollow(FOLLOW_rule__QName__Group_1__1__Impl_in_rule__QName__Group_1__11712);
            rule__QName__Group_1__1__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__QName__Group_1__1"


    // $ANTLR start "rule__QName__Group_1__1__Impl"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:873:1: rule__QName__Group_1__1__Impl : ( RULE_ID ) ;
    public final void rule__QName__Group_1__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:877:1: ( ( RULE_ID ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:878:1: ( RULE_ID )
            {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:878:1: ( RULE_ID )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:879:1: RULE_ID
            {
             before(grammarAccess.getQNameAccess().getIDTerminalRuleCall_1_1()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__QName__Group_1__1__Impl1739); 
             after(grammarAccess.getQNameAccess().getIDTerminalRuleCall_1_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__QName__Group_1__1__Impl"


    // $ANTLR start "rule__Source__Group__0"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:894:1: rule__Source__Group__0 : rule__Source__Group__0__Impl rule__Source__Group__1 ;
    public final void rule__Source__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:898:1: ( rule__Source__Group__0__Impl rule__Source__Group__1 )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:899:2: rule__Source__Group__0__Impl rule__Source__Group__1
            {
            pushFollow(FOLLOW_rule__Source__Group__0__Impl_in_rule__Source__Group__01772);
            rule__Source__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Source__Group__1_in_rule__Source__Group__01775);
            rule__Source__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Source__Group__0"


    // $ANTLR start "rule__Source__Group__0__Impl"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:906:1: rule__Source__Group__0__Impl : ( ( rule__Source__DominantAssignment_0 )? ) ;
    public final void rule__Source__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:910:1: ( ( ( rule__Source__DominantAssignment_0 )? ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:911:1: ( ( rule__Source__DominantAssignment_0 )? )
            {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:911:1: ( ( rule__Source__DominantAssignment_0 )? )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:912:1: ( rule__Source__DominantAssignment_0 )?
            {
             before(grammarAccess.getSourceAccess().getDominantAssignment_0()); 
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:913:1: ( rule__Source__DominantAssignment_0 )?
            int alt7=2;
            int LA7_0 = input.LA(1);

            if ( (LA7_0==28) ) {
                alt7=1;
            }
            switch (alt7) {
                case 1 :
                    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:913:2: rule__Source__DominantAssignment_0
                    {
                    pushFollow(FOLLOW_rule__Source__DominantAssignment_0_in_rule__Source__Group__0__Impl1802);
                    rule__Source__DominantAssignment_0();

                    state._fsp--;


                    }
                    break;

            }

             after(grammarAccess.getSourceAccess().getDominantAssignment_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Source__Group__0__Impl"


    // $ANTLR start "rule__Source__Group__1"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:923:1: rule__Source__Group__1 : rule__Source__Group__1__Impl rule__Source__Group__2 ;
    public final void rule__Source__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:927:1: ( rule__Source__Group__1__Impl rule__Source__Group__2 )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:928:2: rule__Source__Group__1__Impl rule__Source__Group__2
            {
            pushFollow(FOLLOW_rule__Source__Group__1__Impl_in_rule__Source__Group__11833);
            rule__Source__Group__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Source__Group__2_in_rule__Source__Group__11836);
            rule__Source__Group__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Source__Group__1"


    // $ANTLR start "rule__Source__Group__1__Impl"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:935:1: rule__Source__Group__1__Impl : ( ( rule__Source__GuardAssignment_1 )? ) ;
    public final void rule__Source__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:939:1: ( ( ( rule__Source__GuardAssignment_1 )? ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:940:1: ( ( rule__Source__GuardAssignment_1 )? )
            {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:940:1: ( ( rule__Source__GuardAssignment_1 )? )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:941:1: ( rule__Source__GuardAssignment_1 )?
            {
             before(grammarAccess.getSourceAccess().getGuardAssignment_1()); 
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:942:1: ( rule__Source__GuardAssignment_1 )?
            int alt8=2;
            int LA8_0 = input.LA(1);

            if ( (LA8_0==29) ) {
                alt8=1;
            }
            switch (alt8) {
                case 1 :
                    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:942:2: rule__Source__GuardAssignment_1
                    {
                    pushFollow(FOLLOW_rule__Source__GuardAssignment_1_in_rule__Source__Group__1__Impl1863);
                    rule__Source__GuardAssignment_1();

                    state._fsp--;


                    }
                    break;

            }

             after(grammarAccess.getSourceAccess().getGuardAssignment_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Source__Group__1__Impl"


    // $ANTLR start "rule__Source__Group__2"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:952:1: rule__Source__Group__2 : rule__Source__Group__2__Impl rule__Source__Group__3 ;
    public final void rule__Source__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:956:1: ( rule__Source__Group__2__Impl rule__Source__Group__3 )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:957:2: rule__Source__Group__2__Impl rule__Source__Group__3
            {
            pushFollow(FOLLOW_rule__Source__Group__2__Impl_in_rule__Source__Group__21894);
            rule__Source__Group__2__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Source__Group__3_in_rule__Source__Group__21897);
            rule__Source__Group__3();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Source__Group__2"


    // $ANTLR start "rule__Source__Group__2__Impl"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:964:1: rule__Source__Group__2__Impl : ( 'source' ) ;
    public final void rule__Source__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:968:1: ( ( 'source' ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:969:1: ( 'source' )
            {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:969:1: ( 'source' )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:970:1: 'source'
            {
             before(grammarAccess.getSourceAccess().getSourceKeyword_2()); 
            match(input,17,FOLLOW_17_in_rule__Source__Group__2__Impl1925); 
             after(grammarAccess.getSourceAccess().getSourceKeyword_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Source__Group__2__Impl"


    // $ANTLR start "rule__Source__Group__3"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:983:1: rule__Source__Group__3 : rule__Source__Group__3__Impl rule__Source__Group__4 ;
    public final void rule__Source__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:987:1: ( rule__Source__Group__3__Impl rule__Source__Group__4 )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:988:2: rule__Source__Group__3__Impl rule__Source__Group__4
            {
            pushFollow(FOLLOW_rule__Source__Group__3__Impl_in_rule__Source__Group__31956);
            rule__Source__Group__3__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Source__Group__4_in_rule__Source__Group__31959);
            rule__Source__Group__4();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Source__Group__3"


    // $ANTLR start "rule__Source__Group__3__Impl"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:995:1: rule__Source__Group__3__Impl : ( ( rule__Source__QualifiedNameAssignment_3 ) ) ;
    public final void rule__Source__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:999:1: ( ( ( rule__Source__QualifiedNameAssignment_3 ) ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1000:1: ( ( rule__Source__QualifiedNameAssignment_3 ) )
            {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1000:1: ( ( rule__Source__QualifiedNameAssignment_3 ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1001:1: ( rule__Source__QualifiedNameAssignment_3 )
            {
             before(grammarAccess.getSourceAccess().getQualifiedNameAssignment_3()); 
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1002:1: ( rule__Source__QualifiedNameAssignment_3 )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1002:2: rule__Source__QualifiedNameAssignment_3
            {
            pushFollow(FOLLOW_rule__Source__QualifiedNameAssignment_3_in_rule__Source__Group__3__Impl1986);
            rule__Source__QualifiedNameAssignment_3();

            state._fsp--;


            }

             after(grammarAccess.getSourceAccess().getQualifiedNameAssignment_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Source__Group__3__Impl"


    // $ANTLR start "rule__Source__Group__4"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1012:1: rule__Source__Group__4 : rule__Source__Group__4__Impl ;
    public final void rule__Source__Group__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1016:1: ( rule__Source__Group__4__Impl )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1017:2: rule__Source__Group__4__Impl
            {
            pushFollow(FOLLOW_rule__Source__Group__4__Impl_in_rule__Source__Group__42016);
            rule__Source__Group__4__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Source__Group__4"


    // $ANTLR start "rule__Source__Group__4__Impl"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1023:1: rule__Source__Group__4__Impl : ( ( rule__Source__NameAssignment_4 ) ) ;
    public final void rule__Source__Group__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1027:1: ( ( ( rule__Source__NameAssignment_4 ) ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1028:1: ( ( rule__Source__NameAssignment_4 ) )
            {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1028:1: ( ( rule__Source__NameAssignment_4 ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1029:1: ( rule__Source__NameAssignment_4 )
            {
             before(grammarAccess.getSourceAccess().getNameAssignment_4()); 
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1030:1: ( rule__Source__NameAssignment_4 )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1030:2: rule__Source__NameAssignment_4
            {
            pushFollow(FOLLOW_rule__Source__NameAssignment_4_in_rule__Source__Group__4__Impl2043);
            rule__Source__NameAssignment_4();

            state._fsp--;


            }

             after(grammarAccess.getSourceAccess().getNameAssignment_4()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Source__Group__4__Impl"


    // $ANTLR start "rule__Target__Group__0"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1050:1: rule__Target__Group__0 : rule__Target__Group__0__Impl rule__Target__Group__1 ;
    public final void rule__Target__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1054:1: ( rule__Target__Group__0__Impl rule__Target__Group__1 )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1055:2: rule__Target__Group__0__Impl rule__Target__Group__1
            {
            pushFollow(FOLLOW_rule__Target__Group__0__Impl_in_rule__Target__Group__02083);
            rule__Target__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Target__Group__1_in_rule__Target__Group__02086);
            rule__Target__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Target__Group__0"


    // $ANTLR start "rule__Target__Group__0__Impl"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1062:1: rule__Target__Group__0__Impl : ( ( rule__Target__DominantAssignment_0 )? ) ;
    public final void rule__Target__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1066:1: ( ( ( rule__Target__DominantAssignment_0 )? ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1067:1: ( ( rule__Target__DominantAssignment_0 )? )
            {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1067:1: ( ( rule__Target__DominantAssignment_0 )? )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1068:1: ( rule__Target__DominantAssignment_0 )?
            {
             before(grammarAccess.getTargetAccess().getDominantAssignment_0()); 
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1069:1: ( rule__Target__DominantAssignment_0 )?
            int alt9=2;
            int LA9_0 = input.LA(1);

            if ( (LA9_0==28) ) {
                alt9=1;
            }
            switch (alt9) {
                case 1 :
                    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1069:2: rule__Target__DominantAssignment_0
                    {
                    pushFollow(FOLLOW_rule__Target__DominantAssignment_0_in_rule__Target__Group__0__Impl2113);
                    rule__Target__DominantAssignment_0();

                    state._fsp--;


                    }
                    break;

            }

             after(grammarAccess.getTargetAccess().getDominantAssignment_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Target__Group__0__Impl"


    // $ANTLR start "rule__Target__Group__1"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1079:1: rule__Target__Group__1 : rule__Target__Group__1__Impl rule__Target__Group__2 ;
    public final void rule__Target__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1083:1: ( rule__Target__Group__1__Impl rule__Target__Group__2 )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1084:2: rule__Target__Group__1__Impl rule__Target__Group__2
            {
            pushFollow(FOLLOW_rule__Target__Group__1__Impl_in_rule__Target__Group__12144);
            rule__Target__Group__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Target__Group__2_in_rule__Target__Group__12147);
            rule__Target__Group__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Target__Group__1"


    // $ANTLR start "rule__Target__Group__1__Impl"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1091:1: rule__Target__Group__1__Impl : ( ( rule__Target__GuardAssignment_1 )? ) ;
    public final void rule__Target__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1095:1: ( ( ( rule__Target__GuardAssignment_1 )? ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1096:1: ( ( rule__Target__GuardAssignment_1 )? )
            {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1096:1: ( ( rule__Target__GuardAssignment_1 )? )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1097:1: ( rule__Target__GuardAssignment_1 )?
            {
             before(grammarAccess.getTargetAccess().getGuardAssignment_1()); 
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1098:1: ( rule__Target__GuardAssignment_1 )?
            int alt10=2;
            int LA10_0 = input.LA(1);

            if ( (LA10_0==29) ) {
                alt10=1;
            }
            switch (alt10) {
                case 1 :
                    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1098:2: rule__Target__GuardAssignment_1
                    {
                    pushFollow(FOLLOW_rule__Target__GuardAssignment_1_in_rule__Target__Group__1__Impl2174);
                    rule__Target__GuardAssignment_1();

                    state._fsp--;


                    }
                    break;

            }

             after(grammarAccess.getTargetAccess().getGuardAssignment_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Target__Group__1__Impl"


    // $ANTLR start "rule__Target__Group__2"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1108:1: rule__Target__Group__2 : rule__Target__Group__2__Impl rule__Target__Group__3 ;
    public final void rule__Target__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1112:1: ( rule__Target__Group__2__Impl rule__Target__Group__3 )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1113:2: rule__Target__Group__2__Impl rule__Target__Group__3
            {
            pushFollow(FOLLOW_rule__Target__Group__2__Impl_in_rule__Target__Group__22205);
            rule__Target__Group__2__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Target__Group__3_in_rule__Target__Group__22208);
            rule__Target__Group__3();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Target__Group__2"


    // $ANTLR start "rule__Target__Group__2__Impl"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1120:1: rule__Target__Group__2__Impl : ( 'target' ) ;
    public final void rule__Target__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1124:1: ( ( 'target' ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1125:1: ( 'target' )
            {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1125:1: ( 'target' )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1126:1: 'target'
            {
             before(grammarAccess.getTargetAccess().getTargetKeyword_2()); 
            match(input,18,FOLLOW_18_in_rule__Target__Group__2__Impl2236); 
             after(grammarAccess.getTargetAccess().getTargetKeyword_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Target__Group__2__Impl"


    // $ANTLR start "rule__Target__Group__3"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1139:1: rule__Target__Group__3 : rule__Target__Group__3__Impl rule__Target__Group__4 ;
    public final void rule__Target__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1143:1: ( rule__Target__Group__3__Impl rule__Target__Group__4 )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1144:2: rule__Target__Group__3__Impl rule__Target__Group__4
            {
            pushFollow(FOLLOW_rule__Target__Group__3__Impl_in_rule__Target__Group__32267);
            rule__Target__Group__3__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Target__Group__4_in_rule__Target__Group__32270);
            rule__Target__Group__4();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Target__Group__3"


    // $ANTLR start "rule__Target__Group__3__Impl"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1151:1: rule__Target__Group__3__Impl : ( ( rule__Target__QualifiedNameAssignment_3 ) ) ;
    public final void rule__Target__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1155:1: ( ( ( rule__Target__QualifiedNameAssignment_3 ) ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1156:1: ( ( rule__Target__QualifiedNameAssignment_3 ) )
            {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1156:1: ( ( rule__Target__QualifiedNameAssignment_3 ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1157:1: ( rule__Target__QualifiedNameAssignment_3 )
            {
             before(grammarAccess.getTargetAccess().getQualifiedNameAssignment_3()); 
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1158:1: ( rule__Target__QualifiedNameAssignment_3 )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1158:2: rule__Target__QualifiedNameAssignment_3
            {
            pushFollow(FOLLOW_rule__Target__QualifiedNameAssignment_3_in_rule__Target__Group__3__Impl2297);
            rule__Target__QualifiedNameAssignment_3();

            state._fsp--;


            }

             after(grammarAccess.getTargetAccess().getQualifiedNameAssignment_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Target__Group__3__Impl"


    // $ANTLR start "rule__Target__Group__4"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1168:1: rule__Target__Group__4 : rule__Target__Group__4__Impl ;
    public final void rule__Target__Group__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1172:1: ( rule__Target__Group__4__Impl )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1173:2: rule__Target__Group__4__Impl
            {
            pushFollow(FOLLOW_rule__Target__Group__4__Impl_in_rule__Target__Group__42327);
            rule__Target__Group__4__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Target__Group__4"


    // $ANTLR start "rule__Target__Group__4__Impl"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1179:1: rule__Target__Group__4__Impl : ( ( rule__Target__NameAssignment_4 ) ) ;
    public final void rule__Target__Group__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1183:1: ( ( ( rule__Target__NameAssignment_4 ) ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1184:1: ( ( rule__Target__NameAssignment_4 ) )
            {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1184:1: ( ( rule__Target__NameAssignment_4 ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1185:1: ( rule__Target__NameAssignment_4 )
            {
             before(grammarAccess.getTargetAccess().getNameAssignment_4()); 
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1186:1: ( rule__Target__NameAssignment_4 )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1186:2: rule__Target__NameAssignment_4
            {
            pushFollow(FOLLOW_rule__Target__NameAssignment_4_in_rule__Target__Group__4__Impl2354);
            rule__Target__NameAssignment_4();

            state._fsp--;


            }

             after(grammarAccess.getTargetAccess().getNameAssignment_4()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Target__Group__4__Impl"


    // $ANTLR start "rule__Output__Group__0"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1206:1: rule__Output__Group__0 : rule__Output__Group__0__Impl rule__Output__Group__1 ;
    public final void rule__Output__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1210:1: ( rule__Output__Group__0__Impl rule__Output__Group__1 )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1211:2: rule__Output__Group__0__Impl rule__Output__Group__1
            {
            pushFollow(FOLLOW_rule__Output__Group__0__Impl_in_rule__Output__Group__02394);
            rule__Output__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Output__Group__1_in_rule__Output__Group__02397);
            rule__Output__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Output__Group__0"


    // $ANTLR start "rule__Output__Group__0__Impl"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1218:1: rule__Output__Group__0__Impl : ( ( rule__Output__CreateAssignment_0 )? ) ;
    public final void rule__Output__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1222:1: ( ( ( rule__Output__CreateAssignment_0 )? ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1223:1: ( ( rule__Output__CreateAssignment_0 )? )
            {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1223:1: ( ( rule__Output__CreateAssignment_0 )? )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1224:1: ( rule__Output__CreateAssignment_0 )?
            {
             before(grammarAccess.getOutputAccess().getCreateAssignment_0()); 
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1225:1: ( rule__Output__CreateAssignment_0 )?
            int alt11=2;
            int LA11_0 = input.LA(1);

            if ( (LA11_0==30) ) {
                alt11=1;
            }
            switch (alt11) {
                case 1 :
                    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1225:2: rule__Output__CreateAssignment_0
                    {
                    pushFollow(FOLLOW_rule__Output__CreateAssignment_0_in_rule__Output__Group__0__Impl2424);
                    rule__Output__CreateAssignment_0();

                    state._fsp--;


                    }
                    break;

            }

             after(grammarAccess.getOutputAccess().getCreateAssignment_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Output__Group__0__Impl"


    // $ANTLR start "rule__Output__Group__1"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1235:1: rule__Output__Group__1 : rule__Output__Group__1__Impl rule__Output__Group__2 ;
    public final void rule__Output__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1239:1: ( rule__Output__Group__1__Impl rule__Output__Group__2 )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1240:2: rule__Output__Group__1__Impl rule__Output__Group__2
            {
            pushFollow(FOLLOW_rule__Output__Group__1__Impl_in_rule__Output__Group__12455);
            rule__Output__Group__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Output__Group__2_in_rule__Output__Group__12458);
            rule__Output__Group__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Output__Group__1"


    // $ANTLR start "rule__Output__Group__1__Impl"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1247:1: rule__Output__Group__1__Impl : ( 'output' ) ;
    public final void rule__Output__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1251:1: ( ( 'output' ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1252:1: ( 'output' )
            {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1252:1: ( 'output' )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1253:1: 'output'
            {
             before(grammarAccess.getOutputAccess().getOutputKeyword_1()); 
            match(input,19,FOLLOW_19_in_rule__Output__Group__1__Impl2486); 
             after(grammarAccess.getOutputAccess().getOutputKeyword_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Output__Group__1__Impl"


    // $ANTLR start "rule__Output__Group__2"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1266:1: rule__Output__Group__2 : rule__Output__Group__2__Impl rule__Output__Group__3 ;
    public final void rule__Output__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1270:1: ( rule__Output__Group__2__Impl rule__Output__Group__3 )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1271:2: rule__Output__Group__2__Impl rule__Output__Group__3
            {
            pushFollow(FOLLOW_rule__Output__Group__2__Impl_in_rule__Output__Group__22517);
            rule__Output__Group__2__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Output__Group__3_in_rule__Output__Group__22520);
            rule__Output__Group__3();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Output__Group__2"


    // $ANTLR start "rule__Output__Group__2__Impl"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1278:1: rule__Output__Group__2__Impl : ( ( rule__Output__QualifiedNameAssignment_2 ) ) ;
    public final void rule__Output__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1282:1: ( ( ( rule__Output__QualifiedNameAssignment_2 ) ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1283:1: ( ( rule__Output__QualifiedNameAssignment_2 ) )
            {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1283:1: ( ( rule__Output__QualifiedNameAssignment_2 ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1284:1: ( rule__Output__QualifiedNameAssignment_2 )
            {
             before(grammarAccess.getOutputAccess().getQualifiedNameAssignment_2()); 
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1285:1: ( rule__Output__QualifiedNameAssignment_2 )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1285:2: rule__Output__QualifiedNameAssignment_2
            {
            pushFollow(FOLLOW_rule__Output__QualifiedNameAssignment_2_in_rule__Output__Group__2__Impl2547);
            rule__Output__QualifiedNameAssignment_2();

            state._fsp--;


            }

             after(grammarAccess.getOutputAccess().getQualifiedNameAssignment_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Output__Group__2__Impl"


    // $ANTLR start "rule__Output__Group__3"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1295:1: rule__Output__Group__3 : rule__Output__Group__3__Impl ;
    public final void rule__Output__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1299:1: ( rule__Output__Group__3__Impl )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1300:2: rule__Output__Group__3__Impl
            {
            pushFollow(FOLLOW_rule__Output__Group__3__Impl_in_rule__Output__Group__32577);
            rule__Output__Group__3__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Output__Group__3"


    // $ANTLR start "rule__Output__Group__3__Impl"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1306:1: rule__Output__Group__3__Impl : ( ( rule__Output__NameAssignment_3 ) ) ;
    public final void rule__Output__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1310:1: ( ( ( rule__Output__NameAssignment_3 ) ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1311:1: ( ( rule__Output__NameAssignment_3 ) )
            {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1311:1: ( ( rule__Output__NameAssignment_3 ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1312:1: ( rule__Output__NameAssignment_3 )
            {
             before(grammarAccess.getOutputAccess().getNameAssignment_3()); 
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1313:1: ( rule__Output__NameAssignment_3 )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1313:2: rule__Output__NameAssignment_3
            {
            pushFollow(FOLLOW_rule__Output__NameAssignment_3_in_rule__Output__Group__3__Impl2604);
            rule__Output__NameAssignment_3();

            state._fsp--;


            }

             after(grammarAccess.getOutputAccess().getNameAssignment_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Output__Group__3__Impl"


    // $ANTLR start "rule__Rule__Group__0"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1331:1: rule__Rule__Group__0 : rule__Rule__Group__0__Impl rule__Rule__Group__1 ;
    public final void rule__Rule__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1335:1: ( rule__Rule__Group__0__Impl rule__Rule__Group__1 )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1336:2: rule__Rule__Group__0__Impl rule__Rule__Group__1
            {
            pushFollow(FOLLOW_rule__Rule__Group__0__Impl_in_rule__Rule__Group__02642);
            rule__Rule__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Rule__Group__1_in_rule__Rule__Group__02645);
            rule__Rule__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Rule__Group__0"


    // $ANTLR start "rule__Rule__Group__0__Impl"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1343:1: rule__Rule__Group__0__Impl : ( 'merge' ) ;
    public final void rule__Rule__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1347:1: ( ( 'merge' ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1348:1: ( 'merge' )
            {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1348:1: ( 'merge' )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1349:1: 'merge'
            {
             before(grammarAccess.getRuleAccess().getMergeKeyword_0()); 
            match(input,20,FOLLOW_20_in_rule__Rule__Group__0__Impl2673); 
             after(grammarAccess.getRuleAccess().getMergeKeyword_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Rule__Group__0__Impl"


    // $ANTLR start "rule__Rule__Group__1"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1362:1: rule__Rule__Group__1 : rule__Rule__Group__1__Impl rule__Rule__Group__2 ;
    public final void rule__Rule__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1366:1: ( rule__Rule__Group__1__Impl rule__Rule__Group__2 )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1367:2: rule__Rule__Group__1__Impl rule__Rule__Group__2
            {
            pushFollow(FOLLOW_rule__Rule__Group__1__Impl_in_rule__Rule__Group__12704);
            rule__Rule__Group__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Rule__Group__2_in_rule__Rule__Group__12707);
            rule__Rule__Group__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Rule__Group__1"


    // $ANTLR start "rule__Rule__Group__1__Impl"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1374:1: rule__Rule__Group__1__Impl : ( ( rule__Rule__RuleNameAssignment_1 ) ) ;
    public final void rule__Rule__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1378:1: ( ( ( rule__Rule__RuleNameAssignment_1 ) ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1379:1: ( ( rule__Rule__RuleNameAssignment_1 ) )
            {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1379:1: ( ( rule__Rule__RuleNameAssignment_1 ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1380:1: ( rule__Rule__RuleNameAssignment_1 )
            {
             before(grammarAccess.getRuleAccess().getRuleNameAssignment_1()); 
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1381:1: ( rule__Rule__RuleNameAssignment_1 )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1381:2: rule__Rule__RuleNameAssignment_1
            {
            pushFollow(FOLLOW_rule__Rule__RuleNameAssignment_1_in_rule__Rule__Group__1__Impl2734);
            rule__Rule__RuleNameAssignment_1();

            state._fsp--;


            }

             after(grammarAccess.getRuleAccess().getRuleNameAssignment_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Rule__Group__1__Impl"


    // $ANTLR start "rule__Rule__Group__2"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1391:1: rule__Rule__Group__2 : rule__Rule__Group__2__Impl rule__Rule__Group__3 ;
    public final void rule__Rule__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1395:1: ( rule__Rule__Group__2__Impl rule__Rule__Group__3 )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1396:2: rule__Rule__Group__2__Impl rule__Rule__Group__3
            {
            pushFollow(FOLLOW_rule__Rule__Group__2__Impl_in_rule__Rule__Group__22764);
            rule__Rule__Group__2__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Rule__Group__3_in_rule__Rule__Group__22767);
            rule__Rule__Group__3();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Rule__Group__2"


    // $ANTLR start "rule__Rule__Group__2__Impl"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1403:1: rule__Rule__Group__2__Impl : ( '{' ) ;
    public final void rule__Rule__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1407:1: ( ( '{' ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1408:1: ( '{' )
            {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1408:1: ( '{' )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1409:1: '{'
            {
             before(grammarAccess.getRuleAccess().getLeftCurlyBracketKeyword_2()); 
            match(input,21,FOLLOW_21_in_rule__Rule__Group__2__Impl2795); 
             after(grammarAccess.getRuleAccess().getLeftCurlyBracketKeyword_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Rule__Group__2__Impl"


    // $ANTLR start "rule__Rule__Group__3"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1422:1: rule__Rule__Group__3 : rule__Rule__Group__3__Impl rule__Rule__Group__4 ;
    public final void rule__Rule__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1426:1: ( rule__Rule__Group__3__Impl rule__Rule__Group__4 )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1427:2: rule__Rule__Group__3__Impl rule__Rule__Group__4
            {
            pushFollow(FOLLOW_rule__Rule__Group__3__Impl_in_rule__Rule__Group__32826);
            rule__Rule__Group__3__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Rule__Group__4_in_rule__Rule__Group__32829);
            rule__Rule__Group__4();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Rule__Group__3"


    // $ANTLR start "rule__Rule__Group__3__Impl"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1434:1: rule__Rule__Group__3__Impl : ( ( rule__Rule__SourceAssignment_3 ) ) ;
    public final void rule__Rule__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1438:1: ( ( ( rule__Rule__SourceAssignment_3 ) ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1439:1: ( ( rule__Rule__SourceAssignment_3 ) )
            {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1439:1: ( ( rule__Rule__SourceAssignment_3 ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1440:1: ( rule__Rule__SourceAssignment_3 )
            {
             before(grammarAccess.getRuleAccess().getSourceAssignment_3()); 
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1441:1: ( rule__Rule__SourceAssignment_3 )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1441:2: rule__Rule__SourceAssignment_3
            {
            pushFollow(FOLLOW_rule__Rule__SourceAssignment_3_in_rule__Rule__Group__3__Impl2856);
            rule__Rule__SourceAssignment_3();

            state._fsp--;


            }

             after(grammarAccess.getRuleAccess().getSourceAssignment_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Rule__Group__3__Impl"


    // $ANTLR start "rule__Rule__Group__4"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1451:1: rule__Rule__Group__4 : rule__Rule__Group__4__Impl rule__Rule__Group__5 ;
    public final void rule__Rule__Group__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1455:1: ( rule__Rule__Group__4__Impl rule__Rule__Group__5 )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1456:2: rule__Rule__Group__4__Impl rule__Rule__Group__5
            {
            pushFollow(FOLLOW_rule__Rule__Group__4__Impl_in_rule__Rule__Group__42886);
            rule__Rule__Group__4__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Rule__Group__5_in_rule__Rule__Group__42889);
            rule__Rule__Group__5();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Rule__Group__4"


    // $ANTLR start "rule__Rule__Group__4__Impl"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1463:1: rule__Rule__Group__4__Impl : ( ';' ) ;
    public final void rule__Rule__Group__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1467:1: ( ( ';' ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1468:1: ( ';' )
            {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1468:1: ( ';' )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1469:1: ';'
            {
             before(grammarAccess.getRuleAccess().getSemicolonKeyword_4()); 
            match(input,14,FOLLOW_14_in_rule__Rule__Group__4__Impl2917); 
             after(grammarAccess.getRuleAccess().getSemicolonKeyword_4()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Rule__Group__4__Impl"


    // $ANTLR start "rule__Rule__Group__5"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1482:1: rule__Rule__Group__5 : rule__Rule__Group__5__Impl rule__Rule__Group__6 ;
    public final void rule__Rule__Group__5() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1486:1: ( rule__Rule__Group__5__Impl rule__Rule__Group__6 )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1487:2: rule__Rule__Group__5__Impl rule__Rule__Group__6
            {
            pushFollow(FOLLOW_rule__Rule__Group__5__Impl_in_rule__Rule__Group__52948);
            rule__Rule__Group__5__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Rule__Group__6_in_rule__Rule__Group__52951);
            rule__Rule__Group__6();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Rule__Group__5"


    // $ANTLR start "rule__Rule__Group__5__Impl"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1494:1: rule__Rule__Group__5__Impl : ( ( rule__Rule__TargetAssignment_5 ) ) ;
    public final void rule__Rule__Group__5__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1498:1: ( ( ( rule__Rule__TargetAssignment_5 ) ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1499:1: ( ( rule__Rule__TargetAssignment_5 ) )
            {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1499:1: ( ( rule__Rule__TargetAssignment_5 ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1500:1: ( rule__Rule__TargetAssignment_5 )
            {
             before(grammarAccess.getRuleAccess().getTargetAssignment_5()); 
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1501:1: ( rule__Rule__TargetAssignment_5 )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1501:2: rule__Rule__TargetAssignment_5
            {
            pushFollow(FOLLOW_rule__Rule__TargetAssignment_5_in_rule__Rule__Group__5__Impl2978);
            rule__Rule__TargetAssignment_5();

            state._fsp--;


            }

             after(grammarAccess.getRuleAccess().getTargetAssignment_5()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Rule__Group__5__Impl"


    // $ANTLR start "rule__Rule__Group__6"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1511:1: rule__Rule__Group__6 : rule__Rule__Group__6__Impl rule__Rule__Group__7 ;
    public final void rule__Rule__Group__6() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1515:1: ( rule__Rule__Group__6__Impl rule__Rule__Group__7 )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1516:2: rule__Rule__Group__6__Impl rule__Rule__Group__7
            {
            pushFollow(FOLLOW_rule__Rule__Group__6__Impl_in_rule__Rule__Group__63008);
            rule__Rule__Group__6__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Rule__Group__7_in_rule__Rule__Group__63011);
            rule__Rule__Group__7();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Rule__Group__6"


    // $ANTLR start "rule__Rule__Group__6__Impl"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1523:1: rule__Rule__Group__6__Impl : ( ';' ) ;
    public final void rule__Rule__Group__6__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1527:1: ( ( ';' ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1528:1: ( ';' )
            {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1528:1: ( ';' )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1529:1: ';'
            {
             before(grammarAccess.getRuleAccess().getSemicolonKeyword_6()); 
            match(input,14,FOLLOW_14_in_rule__Rule__Group__6__Impl3039); 
             after(grammarAccess.getRuleAccess().getSemicolonKeyword_6()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Rule__Group__6__Impl"


    // $ANTLR start "rule__Rule__Group__7"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1542:1: rule__Rule__Group__7 : rule__Rule__Group__7__Impl rule__Rule__Group__8 ;
    public final void rule__Rule__Group__7() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1546:1: ( rule__Rule__Group__7__Impl rule__Rule__Group__8 )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1547:2: rule__Rule__Group__7__Impl rule__Rule__Group__8
            {
            pushFollow(FOLLOW_rule__Rule__Group__7__Impl_in_rule__Rule__Group__73070);
            rule__Rule__Group__7__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Rule__Group__8_in_rule__Rule__Group__73073);
            rule__Rule__Group__8();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Rule__Group__7"


    // $ANTLR start "rule__Rule__Group__7__Impl"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1554:1: rule__Rule__Group__7__Impl : ( ( rule__Rule__Group_7__0 )? ) ;
    public final void rule__Rule__Group__7__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1558:1: ( ( ( rule__Rule__Group_7__0 )? ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1559:1: ( ( rule__Rule__Group_7__0 )? )
            {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1559:1: ( ( rule__Rule__Group_7__0 )? )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1560:1: ( rule__Rule__Group_7__0 )?
            {
             before(grammarAccess.getRuleAccess().getGroup_7()); 
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1561:1: ( rule__Rule__Group_7__0 )?
            int alt12=2;
            int LA12_0 = input.LA(1);

            if ( (LA12_0==19||LA12_0==30) ) {
                alt12=1;
            }
            switch (alt12) {
                case 1 :
                    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1561:2: rule__Rule__Group_7__0
                    {
                    pushFollow(FOLLOW_rule__Rule__Group_7__0_in_rule__Rule__Group__7__Impl3100);
                    rule__Rule__Group_7__0();

                    state._fsp--;


                    }
                    break;

            }

             after(grammarAccess.getRuleAccess().getGroup_7()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Rule__Group__7__Impl"


    // $ANTLR start "rule__Rule__Group__8"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1571:1: rule__Rule__Group__8 : rule__Rule__Group__8__Impl rule__Rule__Group__9 ;
    public final void rule__Rule__Group__8() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1575:1: ( rule__Rule__Group__8__Impl rule__Rule__Group__9 )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1576:2: rule__Rule__Group__8__Impl rule__Rule__Group__9
            {
            pushFollow(FOLLOW_rule__Rule__Group__8__Impl_in_rule__Rule__Group__83131);
            rule__Rule__Group__8__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Rule__Group__9_in_rule__Rule__Group__83134);
            rule__Rule__Group__9();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Rule__Group__8"


    // $ANTLR start "rule__Rule__Group__8__Impl"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1583:1: rule__Rule__Group__8__Impl : ( ( rule__Rule__StatementsAssignment_8 )* ) ;
    public final void rule__Rule__Group__8__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1587:1: ( ( ( rule__Rule__StatementsAssignment_8 )* ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1588:1: ( ( rule__Rule__StatementsAssignment_8 )* )
            {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1588:1: ( ( rule__Rule__StatementsAssignment_8 )* )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1589:1: ( rule__Rule__StatementsAssignment_8 )*
            {
             before(grammarAccess.getRuleAccess().getStatementsAssignment_8()); 
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1590:1: ( rule__Rule__StatementsAssignment_8 )*
            loop13:
            do {
                int alt13=2;
                int LA13_0 = input.LA(1);

                if ( (LA13_0==23) ) {
                    alt13=1;
                }


                switch (alt13) {
            	case 1 :
            	    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1590:2: rule__Rule__StatementsAssignment_8
            	    {
            	    pushFollow(FOLLOW_rule__Rule__StatementsAssignment_8_in_rule__Rule__Group__8__Impl3161);
            	    rule__Rule__StatementsAssignment_8();

            	    state._fsp--;


            	    }
            	    break;

            	default :
            	    break loop13;
                }
            } while (true);

             after(grammarAccess.getRuleAccess().getStatementsAssignment_8()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Rule__Group__8__Impl"


    // $ANTLR start "rule__Rule__Group__9"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1600:1: rule__Rule__Group__9 : rule__Rule__Group__9__Impl ;
    public final void rule__Rule__Group__9() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1604:1: ( rule__Rule__Group__9__Impl )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1605:2: rule__Rule__Group__9__Impl
            {
            pushFollow(FOLLOW_rule__Rule__Group__9__Impl_in_rule__Rule__Group__93192);
            rule__Rule__Group__9__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Rule__Group__9"


    // $ANTLR start "rule__Rule__Group__9__Impl"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1611:1: rule__Rule__Group__9__Impl : ( '}' ) ;
    public final void rule__Rule__Group__9__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1615:1: ( ( '}' ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1616:1: ( '}' )
            {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1616:1: ( '}' )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1617:1: '}'
            {
             before(grammarAccess.getRuleAccess().getRightCurlyBracketKeyword_9()); 
            match(input,22,FOLLOW_22_in_rule__Rule__Group__9__Impl3220); 
             after(grammarAccess.getRuleAccess().getRightCurlyBracketKeyword_9()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Rule__Group__9__Impl"


    // $ANTLR start "rule__Rule__Group_7__0"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1650:1: rule__Rule__Group_7__0 : rule__Rule__Group_7__0__Impl rule__Rule__Group_7__1 ;
    public final void rule__Rule__Group_7__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1654:1: ( rule__Rule__Group_7__0__Impl rule__Rule__Group_7__1 )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1655:2: rule__Rule__Group_7__0__Impl rule__Rule__Group_7__1
            {
            pushFollow(FOLLOW_rule__Rule__Group_7__0__Impl_in_rule__Rule__Group_7__03271);
            rule__Rule__Group_7__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Rule__Group_7__1_in_rule__Rule__Group_7__03274);
            rule__Rule__Group_7__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Rule__Group_7__0"


    // $ANTLR start "rule__Rule__Group_7__0__Impl"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1662:1: rule__Rule__Group_7__0__Impl : ( ( rule__Rule__OutputAssignment_7_0 ) ) ;
    public final void rule__Rule__Group_7__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1666:1: ( ( ( rule__Rule__OutputAssignment_7_0 ) ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1667:1: ( ( rule__Rule__OutputAssignment_7_0 ) )
            {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1667:1: ( ( rule__Rule__OutputAssignment_7_0 ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1668:1: ( rule__Rule__OutputAssignment_7_0 )
            {
             before(grammarAccess.getRuleAccess().getOutputAssignment_7_0()); 
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1669:1: ( rule__Rule__OutputAssignment_7_0 )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1669:2: rule__Rule__OutputAssignment_7_0
            {
            pushFollow(FOLLOW_rule__Rule__OutputAssignment_7_0_in_rule__Rule__Group_7__0__Impl3301);
            rule__Rule__OutputAssignment_7_0();

            state._fsp--;


            }

             after(grammarAccess.getRuleAccess().getOutputAssignment_7_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Rule__Group_7__0__Impl"


    // $ANTLR start "rule__Rule__Group_7__1"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1679:1: rule__Rule__Group_7__1 : rule__Rule__Group_7__1__Impl ;
    public final void rule__Rule__Group_7__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1683:1: ( rule__Rule__Group_7__1__Impl )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1684:2: rule__Rule__Group_7__1__Impl
            {
            pushFollow(FOLLOW_rule__Rule__Group_7__1__Impl_in_rule__Rule__Group_7__13331);
            rule__Rule__Group_7__1__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Rule__Group_7__1"


    // $ANTLR start "rule__Rule__Group_7__1__Impl"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1690:1: rule__Rule__Group_7__1__Impl : ( ';' ) ;
    public final void rule__Rule__Group_7__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1694:1: ( ( ';' ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1695:1: ( ';' )
            {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1695:1: ( ';' )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1696:1: ';'
            {
             before(grammarAccess.getRuleAccess().getSemicolonKeyword_7_1()); 
            match(input,14,FOLLOW_14_in_rule__Rule__Group_7__1__Impl3359); 
             after(grammarAccess.getRuleAccess().getSemicolonKeyword_7_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Rule__Group_7__1__Impl"


    // $ANTLR start "rule__RuleStatement__Group__0"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1713:1: rule__RuleStatement__Group__0 : rule__RuleStatement__Group__0__Impl rule__RuleStatement__Group__1 ;
    public final void rule__RuleStatement__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1717:1: ( rule__RuleStatement__Group__0__Impl rule__RuleStatement__Group__1 )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1718:2: rule__RuleStatement__Group__0__Impl rule__RuleStatement__Group__1
            {
            pushFollow(FOLLOW_rule__RuleStatement__Group__0__Impl_in_rule__RuleStatement__Group__03394);
            rule__RuleStatement__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__RuleStatement__Group__1_in_rule__RuleStatement__Group__03397);
            rule__RuleStatement__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RuleStatement__Group__0"


    // $ANTLR start "rule__RuleStatement__Group__0__Impl"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1725:1: rule__RuleStatement__Group__0__Impl : ( 'do' ) ;
    public final void rule__RuleStatement__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1729:1: ( ( 'do' ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1730:1: ( 'do' )
            {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1730:1: ( 'do' )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1731:1: 'do'
            {
             before(grammarAccess.getRuleStatementAccess().getDoKeyword_0()); 
            match(input,23,FOLLOW_23_in_rule__RuleStatement__Group__0__Impl3425); 
             after(grammarAccess.getRuleStatementAccess().getDoKeyword_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RuleStatement__Group__0__Impl"


    // $ANTLR start "rule__RuleStatement__Group__1"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1744:1: rule__RuleStatement__Group__1 : rule__RuleStatement__Group__1__Impl rule__RuleStatement__Group__2 ;
    public final void rule__RuleStatement__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1748:1: ( rule__RuleStatement__Group__1__Impl rule__RuleStatement__Group__2 )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1749:2: rule__RuleStatement__Group__1__Impl rule__RuleStatement__Group__2
            {
            pushFollow(FOLLOW_rule__RuleStatement__Group__1__Impl_in_rule__RuleStatement__Group__13456);
            rule__RuleStatement__Group__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__RuleStatement__Group__2_in_rule__RuleStatement__Group__13459);
            rule__RuleStatement__Group__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RuleStatement__Group__1"


    // $ANTLR start "rule__RuleStatement__Group__1__Impl"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1756:1: rule__RuleStatement__Group__1__Impl : ( ( rule__RuleStatement__StatementAssignment_1 ) ) ;
    public final void rule__RuleStatement__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1760:1: ( ( ( rule__RuleStatement__StatementAssignment_1 ) ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1761:1: ( ( rule__RuleStatement__StatementAssignment_1 ) )
            {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1761:1: ( ( rule__RuleStatement__StatementAssignment_1 ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1762:1: ( rule__RuleStatement__StatementAssignment_1 )
            {
             before(grammarAccess.getRuleStatementAccess().getStatementAssignment_1()); 
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1763:1: ( rule__RuleStatement__StatementAssignment_1 )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1763:2: rule__RuleStatement__StatementAssignment_1
            {
            pushFollow(FOLLOW_rule__RuleStatement__StatementAssignment_1_in_rule__RuleStatement__Group__1__Impl3486);
            rule__RuleStatement__StatementAssignment_1();

            state._fsp--;


            }

             after(grammarAccess.getRuleStatementAccess().getStatementAssignment_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RuleStatement__Group__1__Impl"


    // $ANTLR start "rule__RuleStatement__Group__2"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1773:1: rule__RuleStatement__Group__2 : rule__RuleStatement__Group__2__Impl rule__RuleStatement__Group__3 ;
    public final void rule__RuleStatement__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1777:1: ( rule__RuleStatement__Group__2__Impl rule__RuleStatement__Group__3 )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1778:2: rule__RuleStatement__Group__2__Impl rule__RuleStatement__Group__3
            {
            pushFollow(FOLLOW_rule__RuleStatement__Group__2__Impl_in_rule__RuleStatement__Group__23516);
            rule__RuleStatement__Group__2__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__RuleStatement__Group__3_in_rule__RuleStatement__Group__23519);
            rule__RuleStatement__Group__3();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RuleStatement__Group__2"


    // $ANTLR start "rule__RuleStatement__Group__2__Impl"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1785:1: rule__RuleStatement__Group__2__Impl : ( 'as' ) ;
    public final void rule__RuleStatement__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1789:1: ( ( 'as' ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1790:1: ( 'as' )
            {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1790:1: ( 'as' )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1791:1: 'as'
            {
             before(grammarAccess.getRuleStatementAccess().getAsKeyword_2()); 
            match(input,24,FOLLOW_24_in_rule__RuleStatement__Group__2__Impl3547); 
             after(grammarAccess.getRuleStatementAccess().getAsKeyword_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RuleStatement__Group__2__Impl"


    // $ANTLR start "rule__RuleStatement__Group__3"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1804:1: rule__RuleStatement__Group__3 : rule__RuleStatement__Group__3__Impl rule__RuleStatement__Group__4 ;
    public final void rule__RuleStatement__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1808:1: ( rule__RuleStatement__Group__3__Impl rule__RuleStatement__Group__4 )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1809:2: rule__RuleStatement__Group__3__Impl rule__RuleStatement__Group__4
            {
            pushFollow(FOLLOW_rule__RuleStatement__Group__3__Impl_in_rule__RuleStatement__Group__33578);
            rule__RuleStatement__Group__3__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__RuleStatement__Group__4_in_rule__RuleStatement__Group__33581);
            rule__RuleStatement__Group__4();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RuleStatement__Group__3"


    // $ANTLR start "rule__RuleStatement__Group__3__Impl"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1816:1: rule__RuleStatement__Group__3__Impl : ( ( rule__RuleStatement__ExpessionAssignment_3 ) ) ;
    public final void rule__RuleStatement__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1820:1: ( ( ( rule__RuleStatement__ExpessionAssignment_3 ) ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1821:1: ( ( rule__RuleStatement__ExpessionAssignment_3 ) )
            {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1821:1: ( ( rule__RuleStatement__ExpessionAssignment_3 ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1822:1: ( rule__RuleStatement__ExpessionAssignment_3 )
            {
             before(grammarAccess.getRuleStatementAccess().getExpessionAssignment_3()); 
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1823:1: ( rule__RuleStatement__ExpessionAssignment_3 )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1823:2: rule__RuleStatement__ExpessionAssignment_3
            {
            pushFollow(FOLLOW_rule__RuleStatement__ExpessionAssignment_3_in_rule__RuleStatement__Group__3__Impl3608);
            rule__RuleStatement__ExpessionAssignment_3();

            state._fsp--;


            }

             after(grammarAccess.getRuleStatementAccess().getExpessionAssignment_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RuleStatement__Group__3__Impl"


    // $ANTLR start "rule__RuleStatement__Group__4"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1833:1: rule__RuleStatement__Group__4 : rule__RuleStatement__Group__4__Impl rule__RuleStatement__Group__5 ;
    public final void rule__RuleStatement__Group__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1837:1: ( rule__RuleStatement__Group__4__Impl rule__RuleStatement__Group__5 )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1838:2: rule__RuleStatement__Group__4__Impl rule__RuleStatement__Group__5
            {
            pushFollow(FOLLOW_rule__RuleStatement__Group__4__Impl_in_rule__RuleStatement__Group__43638);
            rule__RuleStatement__Group__4__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__RuleStatement__Group__5_in_rule__RuleStatement__Group__43641);
            rule__RuleStatement__Group__5();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RuleStatement__Group__4"


    // $ANTLR start "rule__RuleStatement__Group__4__Impl"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1845:1: rule__RuleStatement__Group__4__Impl : ( ( rule__RuleStatement__Group_4__0 )? ) ;
    public final void rule__RuleStatement__Group__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1849:1: ( ( ( rule__RuleStatement__Group_4__0 )? ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1850:1: ( ( rule__RuleStatement__Group_4__0 )? )
            {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1850:1: ( ( rule__RuleStatement__Group_4__0 )? )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1851:1: ( rule__RuleStatement__Group_4__0 )?
            {
             before(grammarAccess.getRuleStatementAccess().getGroup_4()); 
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1852:1: ( rule__RuleStatement__Group_4__0 )?
            int alt14=2;
            int LA14_0 = input.LA(1);

            if ( (LA14_0==19) ) {
                alt14=1;
            }
            switch (alt14) {
                case 1 :
                    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1852:2: rule__RuleStatement__Group_4__0
                    {
                    pushFollow(FOLLOW_rule__RuleStatement__Group_4__0_in_rule__RuleStatement__Group__4__Impl3668);
                    rule__RuleStatement__Group_4__0();

                    state._fsp--;


                    }
                    break;

            }

             after(grammarAccess.getRuleStatementAccess().getGroup_4()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RuleStatement__Group__4__Impl"


    // $ANTLR start "rule__RuleStatement__Group__5"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1862:1: rule__RuleStatement__Group__5 : rule__RuleStatement__Group__5__Impl ;
    public final void rule__RuleStatement__Group__5() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1866:1: ( rule__RuleStatement__Group__5__Impl )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1867:2: rule__RuleStatement__Group__5__Impl
            {
            pushFollow(FOLLOW_rule__RuleStatement__Group__5__Impl_in_rule__RuleStatement__Group__53699);
            rule__RuleStatement__Group__5__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RuleStatement__Group__5"


    // $ANTLR start "rule__RuleStatement__Group__5__Impl"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1873:1: rule__RuleStatement__Group__5__Impl : ( ';' ) ;
    public final void rule__RuleStatement__Group__5__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1877:1: ( ( ';' ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1878:1: ( ';' )
            {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1878:1: ( ';' )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1879:1: ';'
            {
             before(grammarAccess.getRuleStatementAccess().getSemicolonKeyword_5()); 
            match(input,14,FOLLOW_14_in_rule__RuleStatement__Group__5__Impl3727); 
             after(grammarAccess.getRuleStatementAccess().getSemicolonKeyword_5()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RuleStatement__Group__5__Impl"


    // $ANTLR start "rule__RuleStatement__Group_4__0"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1904:1: rule__RuleStatement__Group_4__0 : rule__RuleStatement__Group_4__0__Impl rule__RuleStatement__Group_4__1 ;
    public final void rule__RuleStatement__Group_4__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1908:1: ( rule__RuleStatement__Group_4__0__Impl rule__RuleStatement__Group_4__1 )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1909:2: rule__RuleStatement__Group_4__0__Impl rule__RuleStatement__Group_4__1
            {
            pushFollow(FOLLOW_rule__RuleStatement__Group_4__0__Impl_in_rule__RuleStatement__Group_4__03770);
            rule__RuleStatement__Group_4__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__RuleStatement__Group_4__1_in_rule__RuleStatement__Group_4__03773);
            rule__RuleStatement__Group_4__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RuleStatement__Group_4__0"


    // $ANTLR start "rule__RuleStatement__Group_4__0__Impl"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1916:1: rule__RuleStatement__Group_4__0__Impl : ( 'output' ) ;
    public final void rule__RuleStatement__Group_4__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1920:1: ( ( 'output' ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1921:1: ( 'output' )
            {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1921:1: ( 'output' )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1922:1: 'output'
            {
             before(grammarAccess.getRuleStatementAccess().getOutputKeyword_4_0()); 
            match(input,19,FOLLOW_19_in_rule__RuleStatement__Group_4__0__Impl3801); 
             after(grammarAccess.getRuleStatementAccess().getOutputKeyword_4_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RuleStatement__Group_4__0__Impl"


    // $ANTLR start "rule__RuleStatement__Group_4__1"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1935:1: rule__RuleStatement__Group_4__1 : rule__RuleStatement__Group_4__1__Impl rule__RuleStatement__Group_4__2 ;
    public final void rule__RuleStatement__Group_4__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1939:1: ( rule__RuleStatement__Group_4__1__Impl rule__RuleStatement__Group_4__2 )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1940:2: rule__RuleStatement__Group_4__1__Impl rule__RuleStatement__Group_4__2
            {
            pushFollow(FOLLOW_rule__RuleStatement__Group_4__1__Impl_in_rule__RuleStatement__Group_4__13832);
            rule__RuleStatement__Group_4__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__RuleStatement__Group_4__2_in_rule__RuleStatement__Group_4__13835);
            rule__RuleStatement__Group_4__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RuleStatement__Group_4__1"


    // $ANTLR start "rule__RuleStatement__Group_4__1__Impl"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1947:1: rule__RuleStatement__Group_4__1__Impl : ( ( rule__RuleStatement__OutputAssignment_4_1 ) ) ;
    public final void rule__RuleStatement__Group_4__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1951:1: ( ( ( rule__RuleStatement__OutputAssignment_4_1 ) ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1952:1: ( ( rule__RuleStatement__OutputAssignment_4_1 ) )
            {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1952:1: ( ( rule__RuleStatement__OutputAssignment_4_1 ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1953:1: ( rule__RuleStatement__OutputAssignment_4_1 )
            {
             before(grammarAccess.getRuleStatementAccess().getOutputAssignment_4_1()); 
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1954:1: ( rule__RuleStatement__OutputAssignment_4_1 )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1954:2: rule__RuleStatement__OutputAssignment_4_1
            {
            pushFollow(FOLLOW_rule__RuleStatement__OutputAssignment_4_1_in_rule__RuleStatement__Group_4__1__Impl3862);
            rule__RuleStatement__OutputAssignment_4_1();

            state._fsp--;


            }

             after(grammarAccess.getRuleStatementAccess().getOutputAssignment_4_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RuleStatement__Group_4__1__Impl"


    // $ANTLR start "rule__RuleStatement__Group_4__2"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1964:1: rule__RuleStatement__Group_4__2 : rule__RuleStatement__Group_4__2__Impl rule__RuleStatement__Group_4__3 ;
    public final void rule__RuleStatement__Group_4__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1968:1: ( rule__RuleStatement__Group_4__2__Impl rule__RuleStatement__Group_4__3 )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1969:2: rule__RuleStatement__Group_4__2__Impl rule__RuleStatement__Group_4__3
            {
            pushFollow(FOLLOW_rule__RuleStatement__Group_4__2__Impl_in_rule__RuleStatement__Group_4__23892);
            rule__RuleStatement__Group_4__2__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__RuleStatement__Group_4__3_in_rule__RuleStatement__Group_4__23895);
            rule__RuleStatement__Group_4__3();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RuleStatement__Group_4__2"


    // $ANTLR start "rule__RuleStatement__Group_4__2__Impl"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1976:1: rule__RuleStatement__Group_4__2__Impl : ( '.' ) ;
    public final void rule__RuleStatement__Group_4__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1980:1: ( ( '.' ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1981:1: ( '.' )
            {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1981:1: ( '.' )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1982:1: '.'
            {
             before(grammarAccess.getRuleStatementAccess().getFullStopKeyword_4_2()); 
            match(input,16,FOLLOW_16_in_rule__RuleStatement__Group_4__2__Impl3923); 
             after(grammarAccess.getRuleStatementAccess().getFullStopKeyword_4_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RuleStatement__Group_4__2__Impl"


    // $ANTLR start "rule__RuleStatement__Group_4__3"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1995:1: rule__RuleStatement__Group_4__3 : rule__RuleStatement__Group_4__3__Impl ;
    public final void rule__RuleStatement__Group_4__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:1999:1: ( rule__RuleStatement__Group_4__3__Impl )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2000:2: rule__RuleStatement__Group_4__3__Impl
            {
            pushFollow(FOLLOW_rule__RuleStatement__Group_4__3__Impl_in_rule__RuleStatement__Group_4__33954);
            rule__RuleStatement__Group_4__3__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RuleStatement__Group_4__3"


    // $ANTLR start "rule__RuleStatement__Group_4__3__Impl"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2006:1: rule__RuleStatement__Group_4__3__Impl : ( ( rule__RuleStatement__OutputAttributeAssignment_4_3 ) ) ;
    public final void rule__RuleStatement__Group_4__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2010:1: ( ( ( rule__RuleStatement__OutputAttributeAssignment_4_3 ) ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2011:1: ( ( rule__RuleStatement__OutputAttributeAssignment_4_3 ) )
            {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2011:1: ( ( rule__RuleStatement__OutputAttributeAssignment_4_3 ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2012:1: ( rule__RuleStatement__OutputAttributeAssignment_4_3 )
            {
             before(grammarAccess.getRuleStatementAccess().getOutputAttributeAssignment_4_3()); 
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2013:1: ( rule__RuleStatement__OutputAttributeAssignment_4_3 )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2013:2: rule__RuleStatement__OutputAttributeAssignment_4_3
            {
            pushFollow(FOLLOW_rule__RuleStatement__OutputAttributeAssignment_4_3_in_rule__RuleStatement__Group_4__3__Impl3981);
            rule__RuleStatement__OutputAttributeAssignment_4_3();

            state._fsp--;


            }

             after(grammarAccess.getRuleStatementAccess().getOutputAttributeAssignment_4_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RuleStatement__Group_4__3__Impl"


    // $ANTLR start "rule__Expression__Group__0"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2031:1: rule__Expression__Group__0 : rule__Expression__Group__0__Impl rule__Expression__Group__1 ;
    public final void rule__Expression__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2035:1: ( rule__Expression__Group__0__Impl rule__Expression__Group__1 )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2036:2: rule__Expression__Group__0__Impl rule__Expression__Group__1
            {
            pushFollow(FOLLOW_rule__Expression__Group__0__Impl_in_rule__Expression__Group__04019);
            rule__Expression__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Expression__Group__1_in_rule__Expression__Group__04022);
            rule__Expression__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Expression__Group__0"


    // $ANTLR start "rule__Expression__Group__0__Impl"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2043:1: rule__Expression__Group__0__Impl : ( ( rule__Expression__LeftAssignment_0 ) ) ;
    public final void rule__Expression__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2047:1: ( ( ( rule__Expression__LeftAssignment_0 ) ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2048:1: ( ( rule__Expression__LeftAssignment_0 ) )
            {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2048:1: ( ( rule__Expression__LeftAssignment_0 ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2049:1: ( rule__Expression__LeftAssignment_0 )
            {
             before(grammarAccess.getExpressionAccess().getLeftAssignment_0()); 
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2050:1: ( rule__Expression__LeftAssignment_0 )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2050:2: rule__Expression__LeftAssignment_0
            {
            pushFollow(FOLLOW_rule__Expression__LeftAssignment_0_in_rule__Expression__Group__0__Impl4049);
            rule__Expression__LeftAssignment_0();

            state._fsp--;


            }

             after(grammarAccess.getExpressionAccess().getLeftAssignment_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Expression__Group__0__Impl"


    // $ANTLR start "rule__Expression__Group__1"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2060:1: rule__Expression__Group__1 : rule__Expression__Group__1__Impl rule__Expression__Group__2 ;
    public final void rule__Expression__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2064:1: ( rule__Expression__Group__1__Impl rule__Expression__Group__2 )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2065:2: rule__Expression__Group__1__Impl rule__Expression__Group__2
            {
            pushFollow(FOLLOW_rule__Expression__Group__1__Impl_in_rule__Expression__Group__14079);
            rule__Expression__Group__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Expression__Group__2_in_rule__Expression__Group__14082);
            rule__Expression__Group__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Expression__Group__1"


    // $ANTLR start "rule__Expression__Group__1__Impl"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2072:1: rule__Expression__Group__1__Impl : ( ( rule__Expression__Group_1__0 )* ) ;
    public final void rule__Expression__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2076:1: ( ( ( rule__Expression__Group_1__0 )* ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2077:1: ( ( rule__Expression__Group_1__0 )* )
            {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2077:1: ( ( rule__Expression__Group_1__0 )* )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2078:1: ( rule__Expression__Group_1__0 )*
            {
             before(grammarAccess.getExpressionAccess().getGroup_1()); 
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2079:1: ( rule__Expression__Group_1__0 )*
            loop15:
            do {
                int alt15=2;
                int LA15_0 = input.LA(1);

                if ( (LA15_0==26) ) {
                    alt15=1;
                }


                switch (alt15) {
            	case 1 :
            	    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2079:2: rule__Expression__Group_1__0
            	    {
            	    pushFollow(FOLLOW_rule__Expression__Group_1__0_in_rule__Expression__Group__1__Impl4109);
            	    rule__Expression__Group_1__0();

            	    state._fsp--;


            	    }
            	    break;

            	default :
            	    break loop15;
                }
            } while (true);

             after(grammarAccess.getExpressionAccess().getGroup_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Expression__Group__1__Impl"


    // $ANTLR start "rule__Expression__Group__2"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2089:1: rule__Expression__Group__2 : rule__Expression__Group__2__Impl rule__Expression__Group__3 ;
    public final void rule__Expression__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2093:1: ( rule__Expression__Group__2__Impl rule__Expression__Group__3 )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2094:2: rule__Expression__Group__2__Impl rule__Expression__Group__3
            {
            pushFollow(FOLLOW_rule__Expression__Group__2__Impl_in_rule__Expression__Group__24140);
            rule__Expression__Group__2__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Expression__Group__3_in_rule__Expression__Group__24143);
            rule__Expression__Group__3();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Expression__Group__2"


    // $ANTLR start "rule__Expression__Group__2__Impl"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2101:1: rule__Expression__Group__2__Impl : ( '=' ) ;
    public final void rule__Expression__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2105:1: ( ( '=' ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2106:1: ( '=' )
            {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2106:1: ( '=' )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2107:1: '='
            {
             before(grammarAccess.getExpressionAccess().getEqualsSignKeyword_2()); 
            match(input,25,FOLLOW_25_in_rule__Expression__Group__2__Impl4171); 
             after(grammarAccess.getExpressionAccess().getEqualsSignKeyword_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Expression__Group__2__Impl"


    // $ANTLR start "rule__Expression__Group__3"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2120:1: rule__Expression__Group__3 : rule__Expression__Group__3__Impl rule__Expression__Group__4 ;
    public final void rule__Expression__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2124:1: ( rule__Expression__Group__3__Impl rule__Expression__Group__4 )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2125:2: rule__Expression__Group__3__Impl rule__Expression__Group__4
            {
            pushFollow(FOLLOW_rule__Expression__Group__3__Impl_in_rule__Expression__Group__34202);
            rule__Expression__Group__3__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Expression__Group__4_in_rule__Expression__Group__34205);
            rule__Expression__Group__4();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Expression__Group__3"


    // $ANTLR start "rule__Expression__Group__3__Impl"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2132:1: rule__Expression__Group__3__Impl : ( ( rule__Expression__RightAssignment_3 ) ) ;
    public final void rule__Expression__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2136:1: ( ( ( rule__Expression__RightAssignment_3 ) ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2137:1: ( ( rule__Expression__RightAssignment_3 ) )
            {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2137:1: ( ( rule__Expression__RightAssignment_3 ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2138:1: ( rule__Expression__RightAssignment_3 )
            {
             before(grammarAccess.getExpressionAccess().getRightAssignment_3()); 
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2139:1: ( rule__Expression__RightAssignment_3 )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2139:2: rule__Expression__RightAssignment_3
            {
            pushFollow(FOLLOW_rule__Expression__RightAssignment_3_in_rule__Expression__Group__3__Impl4232);
            rule__Expression__RightAssignment_3();

            state._fsp--;


            }

             after(grammarAccess.getExpressionAccess().getRightAssignment_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Expression__Group__3__Impl"


    // $ANTLR start "rule__Expression__Group__4"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2149:1: rule__Expression__Group__4 : rule__Expression__Group__4__Impl ;
    public final void rule__Expression__Group__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2153:1: ( rule__Expression__Group__4__Impl )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2154:2: rule__Expression__Group__4__Impl
            {
            pushFollow(FOLLOW_rule__Expression__Group__4__Impl_in_rule__Expression__Group__44262);
            rule__Expression__Group__4__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Expression__Group__4"


    // $ANTLR start "rule__Expression__Group__4__Impl"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2160:1: rule__Expression__Group__4__Impl : ( ( rule__Expression__Group_4__0 )* ) ;
    public final void rule__Expression__Group__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2164:1: ( ( ( rule__Expression__Group_4__0 )* ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2165:1: ( ( rule__Expression__Group_4__0 )* )
            {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2165:1: ( ( rule__Expression__Group_4__0 )* )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2166:1: ( rule__Expression__Group_4__0 )*
            {
             before(grammarAccess.getExpressionAccess().getGroup_4()); 
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2167:1: ( rule__Expression__Group_4__0 )*
            loop16:
            do {
                int alt16=2;
                int LA16_0 = input.LA(1);

                if ( (LA16_0==26) ) {
                    alt16=1;
                }


                switch (alt16) {
            	case 1 :
            	    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2167:2: rule__Expression__Group_4__0
            	    {
            	    pushFollow(FOLLOW_rule__Expression__Group_4__0_in_rule__Expression__Group__4__Impl4289);
            	    rule__Expression__Group_4__0();

            	    state._fsp--;


            	    }
            	    break;

            	default :
            	    break loop16;
                }
            } while (true);

             after(grammarAccess.getExpressionAccess().getGroup_4()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Expression__Group__4__Impl"


    // $ANTLR start "rule__Expression__Group_1__0"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2187:1: rule__Expression__Group_1__0 : rule__Expression__Group_1__0__Impl rule__Expression__Group_1__1 ;
    public final void rule__Expression__Group_1__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2191:1: ( rule__Expression__Group_1__0__Impl rule__Expression__Group_1__1 )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2192:2: rule__Expression__Group_1__0__Impl rule__Expression__Group_1__1
            {
            pushFollow(FOLLOW_rule__Expression__Group_1__0__Impl_in_rule__Expression__Group_1__04330);
            rule__Expression__Group_1__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Expression__Group_1__1_in_rule__Expression__Group_1__04333);
            rule__Expression__Group_1__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Expression__Group_1__0"


    // $ANTLR start "rule__Expression__Group_1__0__Impl"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2199:1: rule__Expression__Group_1__0__Impl : ( '+' ) ;
    public final void rule__Expression__Group_1__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2203:1: ( ( '+' ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2204:1: ( '+' )
            {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2204:1: ( '+' )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2205:1: '+'
            {
             before(grammarAccess.getExpressionAccess().getPlusSignKeyword_1_0()); 
            match(input,26,FOLLOW_26_in_rule__Expression__Group_1__0__Impl4361); 
             after(grammarAccess.getExpressionAccess().getPlusSignKeyword_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Expression__Group_1__0__Impl"


    // $ANTLR start "rule__Expression__Group_1__1"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2218:1: rule__Expression__Group_1__1 : rule__Expression__Group_1__1__Impl ;
    public final void rule__Expression__Group_1__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2222:1: ( rule__Expression__Group_1__1__Impl )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2223:2: rule__Expression__Group_1__1__Impl
            {
            pushFollow(FOLLOW_rule__Expression__Group_1__1__Impl_in_rule__Expression__Group_1__14392);
            rule__Expression__Group_1__1__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Expression__Group_1__1"


    // $ANTLR start "rule__Expression__Group_1__1__Impl"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2229:1: rule__Expression__Group_1__1__Impl : ( ( rule__Expression__Alternatives_1_1 ) ) ;
    public final void rule__Expression__Group_1__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2233:1: ( ( ( rule__Expression__Alternatives_1_1 ) ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2234:1: ( ( rule__Expression__Alternatives_1_1 ) )
            {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2234:1: ( ( rule__Expression__Alternatives_1_1 ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2235:1: ( rule__Expression__Alternatives_1_1 )
            {
             before(grammarAccess.getExpressionAccess().getAlternatives_1_1()); 
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2236:1: ( rule__Expression__Alternatives_1_1 )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2236:2: rule__Expression__Alternatives_1_1
            {
            pushFollow(FOLLOW_rule__Expression__Alternatives_1_1_in_rule__Expression__Group_1__1__Impl4419);
            rule__Expression__Alternatives_1_1();

            state._fsp--;


            }

             after(grammarAccess.getExpressionAccess().getAlternatives_1_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Expression__Group_1__1__Impl"


    // $ANTLR start "rule__Expression__Group_4__0"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2250:1: rule__Expression__Group_4__0 : rule__Expression__Group_4__0__Impl rule__Expression__Group_4__1 ;
    public final void rule__Expression__Group_4__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2254:1: ( rule__Expression__Group_4__0__Impl rule__Expression__Group_4__1 )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2255:2: rule__Expression__Group_4__0__Impl rule__Expression__Group_4__1
            {
            pushFollow(FOLLOW_rule__Expression__Group_4__0__Impl_in_rule__Expression__Group_4__04453);
            rule__Expression__Group_4__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Expression__Group_4__1_in_rule__Expression__Group_4__04456);
            rule__Expression__Group_4__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Expression__Group_4__0"


    // $ANTLR start "rule__Expression__Group_4__0__Impl"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2262:1: rule__Expression__Group_4__0__Impl : ( '+' ) ;
    public final void rule__Expression__Group_4__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2266:1: ( ( '+' ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2267:1: ( '+' )
            {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2267:1: ( '+' )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2268:1: '+'
            {
             before(grammarAccess.getExpressionAccess().getPlusSignKeyword_4_0()); 
            match(input,26,FOLLOW_26_in_rule__Expression__Group_4__0__Impl4484); 
             after(grammarAccess.getExpressionAccess().getPlusSignKeyword_4_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Expression__Group_4__0__Impl"


    // $ANTLR start "rule__Expression__Group_4__1"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2281:1: rule__Expression__Group_4__1 : rule__Expression__Group_4__1__Impl ;
    public final void rule__Expression__Group_4__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2285:1: ( rule__Expression__Group_4__1__Impl )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2286:2: rule__Expression__Group_4__1__Impl
            {
            pushFollow(FOLLOW_rule__Expression__Group_4__1__Impl_in_rule__Expression__Group_4__14515);
            rule__Expression__Group_4__1__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Expression__Group_4__1"


    // $ANTLR start "rule__Expression__Group_4__1__Impl"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2292:1: rule__Expression__Group_4__1__Impl : ( ( rule__Expression__Alternatives_4_1 ) ) ;
    public final void rule__Expression__Group_4__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2296:1: ( ( ( rule__Expression__Alternatives_4_1 ) ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2297:1: ( ( rule__Expression__Alternatives_4_1 ) )
            {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2297:1: ( ( rule__Expression__Alternatives_4_1 ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2298:1: ( rule__Expression__Alternatives_4_1 )
            {
             before(grammarAccess.getExpressionAccess().getAlternatives_4_1()); 
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2299:1: ( rule__Expression__Alternatives_4_1 )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2299:2: rule__Expression__Alternatives_4_1
            {
            pushFollow(FOLLOW_rule__Expression__Alternatives_4_1_in_rule__Expression__Group_4__1__Impl4542);
            rule__Expression__Alternatives_4_1();

            state._fsp--;


            }

             after(grammarAccess.getExpressionAccess().getAlternatives_4_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Expression__Group_4__1__Impl"


    // $ANTLR start "rule__RightAttribute__Group__0"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2313:1: rule__RightAttribute__Group__0 : rule__RightAttribute__Group__0__Impl rule__RightAttribute__Group__1 ;
    public final void rule__RightAttribute__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2317:1: ( rule__RightAttribute__Group__0__Impl rule__RightAttribute__Group__1 )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2318:2: rule__RightAttribute__Group__0__Impl rule__RightAttribute__Group__1
            {
            pushFollow(FOLLOW_rule__RightAttribute__Group__0__Impl_in_rule__RightAttribute__Group__04576);
            rule__RightAttribute__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__RightAttribute__Group__1_in_rule__RightAttribute__Group__04579);
            rule__RightAttribute__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RightAttribute__Group__0"


    // $ANTLR start "rule__RightAttribute__Group__0__Impl"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2325:1: rule__RightAttribute__Group__0__Impl : ( ( rule__RightAttribute__TargetAssignment_0 ) ) ;
    public final void rule__RightAttribute__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2329:1: ( ( ( rule__RightAttribute__TargetAssignment_0 ) ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2330:1: ( ( rule__RightAttribute__TargetAssignment_0 ) )
            {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2330:1: ( ( rule__RightAttribute__TargetAssignment_0 ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2331:1: ( rule__RightAttribute__TargetAssignment_0 )
            {
             before(grammarAccess.getRightAttributeAccess().getTargetAssignment_0()); 
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2332:1: ( rule__RightAttribute__TargetAssignment_0 )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2332:2: rule__RightAttribute__TargetAssignment_0
            {
            pushFollow(FOLLOW_rule__RightAttribute__TargetAssignment_0_in_rule__RightAttribute__Group__0__Impl4606);
            rule__RightAttribute__TargetAssignment_0();

            state._fsp--;


            }

             after(grammarAccess.getRightAttributeAccess().getTargetAssignment_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RightAttribute__Group__0__Impl"


    // $ANTLR start "rule__RightAttribute__Group__1"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2342:1: rule__RightAttribute__Group__1 : rule__RightAttribute__Group__1__Impl rule__RightAttribute__Group__2 ;
    public final void rule__RightAttribute__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2346:1: ( rule__RightAttribute__Group__1__Impl rule__RightAttribute__Group__2 )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2347:2: rule__RightAttribute__Group__1__Impl rule__RightAttribute__Group__2
            {
            pushFollow(FOLLOW_rule__RightAttribute__Group__1__Impl_in_rule__RightAttribute__Group__14636);
            rule__RightAttribute__Group__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__RightAttribute__Group__2_in_rule__RightAttribute__Group__14639);
            rule__RightAttribute__Group__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RightAttribute__Group__1"


    // $ANTLR start "rule__RightAttribute__Group__1__Impl"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2354:1: rule__RightAttribute__Group__1__Impl : ( '.' ) ;
    public final void rule__RightAttribute__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2358:1: ( ( '.' ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2359:1: ( '.' )
            {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2359:1: ( '.' )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2360:1: '.'
            {
             before(grammarAccess.getRightAttributeAccess().getFullStopKeyword_1()); 
            match(input,16,FOLLOW_16_in_rule__RightAttribute__Group__1__Impl4667); 
             after(grammarAccess.getRightAttributeAccess().getFullStopKeyword_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RightAttribute__Group__1__Impl"


    // $ANTLR start "rule__RightAttribute__Group__2"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2373:1: rule__RightAttribute__Group__2 : rule__RightAttribute__Group__2__Impl ;
    public final void rule__RightAttribute__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2377:1: ( rule__RightAttribute__Group__2__Impl )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2378:2: rule__RightAttribute__Group__2__Impl
            {
            pushFollow(FOLLOW_rule__RightAttribute__Group__2__Impl_in_rule__RightAttribute__Group__24698);
            rule__RightAttribute__Group__2__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RightAttribute__Group__2"


    // $ANTLR start "rule__RightAttribute__Group__2__Impl"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2384:1: rule__RightAttribute__Group__2__Impl : ( ( rule__RightAttribute__AttributeNameAssignment_2 ) ) ;
    public final void rule__RightAttribute__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2388:1: ( ( ( rule__RightAttribute__AttributeNameAssignment_2 ) ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2389:1: ( ( rule__RightAttribute__AttributeNameAssignment_2 ) )
            {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2389:1: ( ( rule__RightAttribute__AttributeNameAssignment_2 ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2390:1: ( rule__RightAttribute__AttributeNameAssignment_2 )
            {
             before(grammarAccess.getRightAttributeAccess().getAttributeNameAssignment_2()); 
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2391:1: ( rule__RightAttribute__AttributeNameAssignment_2 )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2391:2: rule__RightAttribute__AttributeNameAssignment_2
            {
            pushFollow(FOLLOW_rule__RightAttribute__AttributeNameAssignment_2_in_rule__RightAttribute__Group__2__Impl4725);
            rule__RightAttribute__AttributeNameAssignment_2();

            state._fsp--;


            }

             after(grammarAccess.getRightAttributeAccess().getAttributeNameAssignment_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RightAttribute__Group__2__Impl"


    // $ANTLR start "rule__LeftAttribute__Group__0"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2407:1: rule__LeftAttribute__Group__0 : rule__LeftAttribute__Group__0__Impl rule__LeftAttribute__Group__1 ;
    public final void rule__LeftAttribute__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2411:1: ( rule__LeftAttribute__Group__0__Impl rule__LeftAttribute__Group__1 )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2412:2: rule__LeftAttribute__Group__0__Impl rule__LeftAttribute__Group__1
            {
            pushFollow(FOLLOW_rule__LeftAttribute__Group__0__Impl_in_rule__LeftAttribute__Group__04761);
            rule__LeftAttribute__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__LeftAttribute__Group__1_in_rule__LeftAttribute__Group__04764);
            rule__LeftAttribute__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__LeftAttribute__Group__0"


    // $ANTLR start "rule__LeftAttribute__Group__0__Impl"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2419:1: rule__LeftAttribute__Group__0__Impl : ( ( rule__LeftAttribute__SourceAssignment_0 ) ) ;
    public final void rule__LeftAttribute__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2423:1: ( ( ( rule__LeftAttribute__SourceAssignment_0 ) ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2424:1: ( ( rule__LeftAttribute__SourceAssignment_0 ) )
            {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2424:1: ( ( rule__LeftAttribute__SourceAssignment_0 ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2425:1: ( rule__LeftAttribute__SourceAssignment_0 )
            {
             before(grammarAccess.getLeftAttributeAccess().getSourceAssignment_0()); 
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2426:1: ( rule__LeftAttribute__SourceAssignment_0 )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2426:2: rule__LeftAttribute__SourceAssignment_0
            {
            pushFollow(FOLLOW_rule__LeftAttribute__SourceAssignment_0_in_rule__LeftAttribute__Group__0__Impl4791);
            rule__LeftAttribute__SourceAssignment_0();

            state._fsp--;


            }

             after(grammarAccess.getLeftAttributeAccess().getSourceAssignment_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__LeftAttribute__Group__0__Impl"


    // $ANTLR start "rule__LeftAttribute__Group__1"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2436:1: rule__LeftAttribute__Group__1 : rule__LeftAttribute__Group__1__Impl rule__LeftAttribute__Group__2 ;
    public final void rule__LeftAttribute__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2440:1: ( rule__LeftAttribute__Group__1__Impl rule__LeftAttribute__Group__2 )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2441:2: rule__LeftAttribute__Group__1__Impl rule__LeftAttribute__Group__2
            {
            pushFollow(FOLLOW_rule__LeftAttribute__Group__1__Impl_in_rule__LeftAttribute__Group__14821);
            rule__LeftAttribute__Group__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__LeftAttribute__Group__2_in_rule__LeftAttribute__Group__14824);
            rule__LeftAttribute__Group__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__LeftAttribute__Group__1"


    // $ANTLR start "rule__LeftAttribute__Group__1__Impl"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2448:1: rule__LeftAttribute__Group__1__Impl : ( '.' ) ;
    public final void rule__LeftAttribute__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2452:1: ( ( '.' ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2453:1: ( '.' )
            {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2453:1: ( '.' )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2454:1: '.'
            {
             before(grammarAccess.getLeftAttributeAccess().getFullStopKeyword_1()); 
            match(input,16,FOLLOW_16_in_rule__LeftAttribute__Group__1__Impl4852); 
             after(grammarAccess.getLeftAttributeAccess().getFullStopKeyword_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__LeftAttribute__Group__1__Impl"


    // $ANTLR start "rule__LeftAttribute__Group__2"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2467:1: rule__LeftAttribute__Group__2 : rule__LeftAttribute__Group__2__Impl ;
    public final void rule__LeftAttribute__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2471:1: ( rule__LeftAttribute__Group__2__Impl )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2472:2: rule__LeftAttribute__Group__2__Impl
            {
            pushFollow(FOLLOW_rule__LeftAttribute__Group__2__Impl_in_rule__LeftAttribute__Group__24883);
            rule__LeftAttribute__Group__2__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__LeftAttribute__Group__2"


    // $ANTLR start "rule__LeftAttribute__Group__2__Impl"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2478:1: rule__LeftAttribute__Group__2__Impl : ( ( rule__LeftAttribute__AttributeNameAssignment_2 ) ) ;
    public final void rule__LeftAttribute__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2482:1: ( ( ( rule__LeftAttribute__AttributeNameAssignment_2 ) ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2483:1: ( ( rule__LeftAttribute__AttributeNameAssignment_2 ) )
            {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2483:1: ( ( rule__LeftAttribute__AttributeNameAssignment_2 ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2484:1: ( rule__LeftAttribute__AttributeNameAssignment_2 )
            {
             before(grammarAccess.getLeftAttributeAccess().getAttributeNameAssignment_2()); 
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2485:1: ( rule__LeftAttribute__AttributeNameAssignment_2 )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2485:2: rule__LeftAttribute__AttributeNameAssignment_2
            {
            pushFollow(FOLLOW_rule__LeftAttribute__AttributeNameAssignment_2_in_rule__LeftAttribute__Group__2__Impl4910);
            rule__LeftAttribute__AttributeNameAssignment_2();

            state._fsp--;


            }

             after(grammarAccess.getLeftAttributeAccess().getAttributeNameAssignment_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__LeftAttribute__Group__2__Impl"


    // $ANTLR start "rule__MergeRules__MetamodelPathLeftAssignment_1"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2502:1: rule__MergeRules__MetamodelPathLeftAssignment_1 : ( RULE_STRING ) ;
    public final void rule__MergeRules__MetamodelPathLeftAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2506:1: ( ( RULE_STRING ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2507:1: ( RULE_STRING )
            {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2507:1: ( RULE_STRING )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2508:1: RULE_STRING
            {
             before(grammarAccess.getMergeRulesAccess().getMetamodelPathLeftSTRINGTerminalRuleCall_1_0()); 
            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__MergeRules__MetamodelPathLeftAssignment_14951); 
             after(grammarAccess.getMergeRulesAccess().getMetamodelPathLeftSTRINGTerminalRuleCall_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MergeRules__MetamodelPathLeftAssignment_1"


    // $ANTLR start "rule__MergeRules__MetamodelPathRightAssignment_4"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2517:1: rule__MergeRules__MetamodelPathRightAssignment_4 : ( RULE_STRING ) ;
    public final void rule__MergeRules__MetamodelPathRightAssignment_4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2521:1: ( ( RULE_STRING ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2522:1: ( RULE_STRING )
            {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2522:1: ( RULE_STRING )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2523:1: RULE_STRING
            {
             before(grammarAccess.getMergeRulesAccess().getMetamodelPathRightSTRINGTerminalRuleCall_4_0()); 
            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__MergeRules__MetamodelPathRightAssignment_44982); 
             after(grammarAccess.getMergeRulesAccess().getMetamodelPathRightSTRINGTerminalRuleCall_4_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MergeRules__MetamodelPathRightAssignment_4"


    // $ANTLR start "rule__MergeRules__DefaultDominantAssignment_6_0"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2532:1: rule__MergeRules__DefaultDominantAssignment_6_0 : ( ( 'default dominant ' ) ) ;
    public final void rule__MergeRules__DefaultDominantAssignment_6_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2536:1: ( ( ( 'default dominant ' ) ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2537:1: ( ( 'default dominant ' ) )
            {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2537:1: ( ( 'default dominant ' ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2538:1: ( 'default dominant ' )
            {
             before(grammarAccess.getMergeRulesAccess().getDefaultDominantDefaultDominantKeyword_6_0_0()); 
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2539:1: ( 'default dominant ' )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2540:1: 'default dominant '
            {
             before(grammarAccess.getMergeRulesAccess().getDefaultDominantDefaultDominantKeyword_6_0_0()); 
            match(input,27,FOLLOW_27_in_rule__MergeRules__DefaultDominantAssignment_6_05018); 
             after(grammarAccess.getMergeRulesAccess().getDefaultDominantDefaultDominantKeyword_6_0_0()); 

            }

             after(grammarAccess.getMergeRulesAccess().getDefaultDominantDefaultDominantKeyword_6_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MergeRules__DefaultDominantAssignment_6_0"


    // $ANTLR start "rule__MergeRules__RulesAssignment_7"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2555:1: rule__MergeRules__RulesAssignment_7 : ( ruleRule ) ;
    public final void rule__MergeRules__RulesAssignment_7() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2559:1: ( ( ruleRule ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2560:1: ( ruleRule )
            {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2560:1: ( ruleRule )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2561:1: ruleRule
            {
             before(grammarAccess.getMergeRulesAccess().getRulesRuleParserRuleCall_7_0()); 
            pushFollow(FOLLOW_ruleRule_in_rule__MergeRules__RulesAssignment_75057);
            ruleRule();

            state._fsp--;

             after(grammarAccess.getMergeRulesAccess().getRulesRuleParserRuleCall_7_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MergeRules__RulesAssignment_7"


    // $ANTLR start "rule__Source__DominantAssignment_0"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2570:1: rule__Source__DominantAssignment_0 : ( ( 'dominant' ) ) ;
    public final void rule__Source__DominantAssignment_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2574:1: ( ( ( 'dominant' ) ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2575:1: ( ( 'dominant' ) )
            {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2575:1: ( ( 'dominant' ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2576:1: ( 'dominant' )
            {
             before(grammarAccess.getSourceAccess().getDominantDominantKeyword_0_0()); 
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2577:1: ( 'dominant' )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2578:1: 'dominant'
            {
             before(grammarAccess.getSourceAccess().getDominantDominantKeyword_0_0()); 
            match(input,28,FOLLOW_28_in_rule__Source__DominantAssignment_05093); 
             after(grammarAccess.getSourceAccess().getDominantDominantKeyword_0_0()); 

            }

             after(grammarAccess.getSourceAccess().getDominantDominantKeyword_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Source__DominantAssignment_0"


    // $ANTLR start "rule__Source__GuardAssignment_1"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2593:1: rule__Source__GuardAssignment_1 : ( ( 'guard' ) ) ;
    public final void rule__Source__GuardAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2597:1: ( ( ( 'guard' ) ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2598:1: ( ( 'guard' ) )
            {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2598:1: ( ( 'guard' ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2599:1: ( 'guard' )
            {
             before(grammarAccess.getSourceAccess().getGuardGuardKeyword_1_0()); 
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2600:1: ( 'guard' )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2601:1: 'guard'
            {
             before(grammarAccess.getSourceAccess().getGuardGuardKeyword_1_0()); 
            match(input,29,FOLLOW_29_in_rule__Source__GuardAssignment_15137); 
             after(grammarAccess.getSourceAccess().getGuardGuardKeyword_1_0()); 

            }

             after(grammarAccess.getSourceAccess().getGuardGuardKeyword_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Source__GuardAssignment_1"


    // $ANTLR start "rule__Source__QualifiedNameAssignment_3"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2616:1: rule__Source__QualifiedNameAssignment_3 : ( ruleQName ) ;
    public final void rule__Source__QualifiedNameAssignment_3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2620:1: ( ( ruleQName ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2621:1: ( ruleQName )
            {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2621:1: ( ruleQName )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2622:1: ruleQName
            {
             before(grammarAccess.getSourceAccess().getQualifiedNameQNameParserRuleCall_3_0()); 
            pushFollow(FOLLOW_ruleQName_in_rule__Source__QualifiedNameAssignment_35176);
            ruleQName();

            state._fsp--;

             after(grammarAccess.getSourceAccess().getQualifiedNameQNameParserRuleCall_3_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Source__QualifiedNameAssignment_3"


    // $ANTLR start "rule__Source__NameAssignment_4"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2631:1: rule__Source__NameAssignment_4 : ( RULE_ID ) ;
    public final void rule__Source__NameAssignment_4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2635:1: ( ( RULE_ID ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2636:1: ( RULE_ID )
            {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2636:1: ( RULE_ID )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2637:1: RULE_ID
            {
             before(grammarAccess.getSourceAccess().getNameIDTerminalRuleCall_4_0()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__Source__NameAssignment_45207); 
             after(grammarAccess.getSourceAccess().getNameIDTerminalRuleCall_4_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Source__NameAssignment_4"


    // $ANTLR start "rule__Target__DominantAssignment_0"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2646:1: rule__Target__DominantAssignment_0 : ( ( 'dominant' ) ) ;
    public final void rule__Target__DominantAssignment_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2650:1: ( ( ( 'dominant' ) ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2651:1: ( ( 'dominant' ) )
            {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2651:1: ( ( 'dominant' ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2652:1: ( 'dominant' )
            {
             before(grammarAccess.getTargetAccess().getDominantDominantKeyword_0_0()); 
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2653:1: ( 'dominant' )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2654:1: 'dominant'
            {
             before(grammarAccess.getTargetAccess().getDominantDominantKeyword_0_0()); 
            match(input,28,FOLLOW_28_in_rule__Target__DominantAssignment_05243); 
             after(grammarAccess.getTargetAccess().getDominantDominantKeyword_0_0()); 

            }

             after(grammarAccess.getTargetAccess().getDominantDominantKeyword_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Target__DominantAssignment_0"


    // $ANTLR start "rule__Target__GuardAssignment_1"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2669:1: rule__Target__GuardAssignment_1 : ( ( 'guard' ) ) ;
    public final void rule__Target__GuardAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2673:1: ( ( ( 'guard' ) ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2674:1: ( ( 'guard' ) )
            {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2674:1: ( ( 'guard' ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2675:1: ( 'guard' )
            {
             before(grammarAccess.getTargetAccess().getGuardGuardKeyword_1_0()); 
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2676:1: ( 'guard' )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2677:1: 'guard'
            {
             before(grammarAccess.getTargetAccess().getGuardGuardKeyword_1_0()); 
            match(input,29,FOLLOW_29_in_rule__Target__GuardAssignment_15287); 
             after(grammarAccess.getTargetAccess().getGuardGuardKeyword_1_0()); 

            }

             after(grammarAccess.getTargetAccess().getGuardGuardKeyword_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Target__GuardAssignment_1"


    // $ANTLR start "rule__Target__QualifiedNameAssignment_3"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2692:1: rule__Target__QualifiedNameAssignment_3 : ( ruleQName ) ;
    public final void rule__Target__QualifiedNameAssignment_3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2696:1: ( ( ruleQName ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2697:1: ( ruleQName )
            {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2697:1: ( ruleQName )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2698:1: ruleQName
            {
             before(grammarAccess.getTargetAccess().getQualifiedNameQNameParserRuleCall_3_0()); 
            pushFollow(FOLLOW_ruleQName_in_rule__Target__QualifiedNameAssignment_35326);
            ruleQName();

            state._fsp--;

             after(grammarAccess.getTargetAccess().getQualifiedNameQNameParserRuleCall_3_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Target__QualifiedNameAssignment_3"


    // $ANTLR start "rule__Target__NameAssignment_4"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2707:1: rule__Target__NameAssignment_4 : ( RULE_ID ) ;
    public final void rule__Target__NameAssignment_4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2711:1: ( ( RULE_ID ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2712:1: ( RULE_ID )
            {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2712:1: ( RULE_ID )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2713:1: RULE_ID
            {
             before(grammarAccess.getTargetAccess().getNameIDTerminalRuleCall_4_0()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__Target__NameAssignment_45357); 
             after(grammarAccess.getTargetAccess().getNameIDTerminalRuleCall_4_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Target__NameAssignment_4"


    // $ANTLR start "rule__Output__CreateAssignment_0"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2722:1: rule__Output__CreateAssignment_0 : ( ( 'create' ) ) ;
    public final void rule__Output__CreateAssignment_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2726:1: ( ( ( 'create' ) ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2727:1: ( ( 'create' ) )
            {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2727:1: ( ( 'create' ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2728:1: ( 'create' )
            {
             before(grammarAccess.getOutputAccess().getCreateCreateKeyword_0_0()); 
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2729:1: ( 'create' )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2730:1: 'create'
            {
             before(grammarAccess.getOutputAccess().getCreateCreateKeyword_0_0()); 
            match(input,30,FOLLOW_30_in_rule__Output__CreateAssignment_05393); 
             after(grammarAccess.getOutputAccess().getCreateCreateKeyword_0_0()); 

            }

             after(grammarAccess.getOutputAccess().getCreateCreateKeyword_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Output__CreateAssignment_0"


    // $ANTLR start "rule__Output__QualifiedNameAssignment_2"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2745:1: rule__Output__QualifiedNameAssignment_2 : ( ruleQName ) ;
    public final void rule__Output__QualifiedNameAssignment_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2749:1: ( ( ruleQName ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2750:1: ( ruleQName )
            {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2750:1: ( ruleQName )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2751:1: ruleQName
            {
             before(grammarAccess.getOutputAccess().getQualifiedNameQNameParserRuleCall_2_0()); 
            pushFollow(FOLLOW_ruleQName_in_rule__Output__QualifiedNameAssignment_25432);
            ruleQName();

            state._fsp--;

             after(grammarAccess.getOutputAccess().getQualifiedNameQNameParserRuleCall_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Output__QualifiedNameAssignment_2"


    // $ANTLR start "rule__Output__NameAssignment_3"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2760:1: rule__Output__NameAssignment_3 : ( RULE_ID ) ;
    public final void rule__Output__NameAssignment_3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2764:1: ( ( RULE_ID ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2765:1: ( RULE_ID )
            {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2765:1: ( RULE_ID )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2766:1: RULE_ID
            {
             before(grammarAccess.getOutputAccess().getNameIDTerminalRuleCall_3_0()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__Output__NameAssignment_35463); 
             after(grammarAccess.getOutputAccess().getNameIDTerminalRuleCall_3_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Output__NameAssignment_3"


    // $ANTLR start "rule__Rule__RuleNameAssignment_1"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2775:1: rule__Rule__RuleNameAssignment_1 : ( RULE_ID ) ;
    public final void rule__Rule__RuleNameAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2779:1: ( ( RULE_ID ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2780:1: ( RULE_ID )
            {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2780:1: ( RULE_ID )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2781:1: RULE_ID
            {
             before(grammarAccess.getRuleAccess().getRuleNameIDTerminalRuleCall_1_0()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__Rule__RuleNameAssignment_15494); 
             after(grammarAccess.getRuleAccess().getRuleNameIDTerminalRuleCall_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Rule__RuleNameAssignment_1"


    // $ANTLR start "rule__Rule__SourceAssignment_3"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2790:1: rule__Rule__SourceAssignment_3 : ( ruleSource ) ;
    public final void rule__Rule__SourceAssignment_3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2794:1: ( ( ruleSource ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2795:1: ( ruleSource )
            {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2795:1: ( ruleSource )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2796:1: ruleSource
            {
             before(grammarAccess.getRuleAccess().getSourceSourceParserRuleCall_3_0()); 
            pushFollow(FOLLOW_ruleSource_in_rule__Rule__SourceAssignment_35525);
            ruleSource();

            state._fsp--;

             after(grammarAccess.getRuleAccess().getSourceSourceParserRuleCall_3_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Rule__SourceAssignment_3"


    // $ANTLR start "rule__Rule__TargetAssignment_5"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2805:1: rule__Rule__TargetAssignment_5 : ( ruleTarget ) ;
    public final void rule__Rule__TargetAssignment_5() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2809:1: ( ( ruleTarget ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2810:1: ( ruleTarget )
            {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2810:1: ( ruleTarget )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2811:1: ruleTarget
            {
             before(grammarAccess.getRuleAccess().getTargetTargetParserRuleCall_5_0()); 
            pushFollow(FOLLOW_ruleTarget_in_rule__Rule__TargetAssignment_55556);
            ruleTarget();

            state._fsp--;

             after(grammarAccess.getRuleAccess().getTargetTargetParserRuleCall_5_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Rule__TargetAssignment_5"


    // $ANTLR start "rule__Rule__OutputAssignment_7_0"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2820:1: rule__Rule__OutputAssignment_7_0 : ( ruleOutput ) ;
    public final void rule__Rule__OutputAssignment_7_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2824:1: ( ( ruleOutput ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2825:1: ( ruleOutput )
            {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2825:1: ( ruleOutput )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2826:1: ruleOutput
            {
             before(grammarAccess.getRuleAccess().getOutputOutputParserRuleCall_7_0_0()); 
            pushFollow(FOLLOW_ruleOutput_in_rule__Rule__OutputAssignment_7_05587);
            ruleOutput();

            state._fsp--;

             after(grammarAccess.getRuleAccess().getOutputOutputParserRuleCall_7_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Rule__OutputAssignment_7_0"


    // $ANTLR start "rule__Rule__StatementsAssignment_8"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2835:1: rule__Rule__StatementsAssignment_8 : ( ruleRuleStatement ) ;
    public final void rule__Rule__StatementsAssignment_8() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2839:1: ( ( ruleRuleStatement ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2840:1: ( ruleRuleStatement )
            {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2840:1: ( ruleRuleStatement )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2841:1: ruleRuleStatement
            {
             before(grammarAccess.getRuleAccess().getStatementsRuleStatementParserRuleCall_8_0()); 
            pushFollow(FOLLOW_ruleRuleStatement_in_rule__Rule__StatementsAssignment_85618);
            ruleRuleStatement();

            state._fsp--;

             after(grammarAccess.getRuleAccess().getStatementsRuleStatementParserRuleCall_8_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Rule__StatementsAssignment_8"


    // $ANTLR start "rule__RuleStatement__StatementAssignment_1"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2850:1: rule__RuleStatement__StatementAssignment_1 : ( RULE_ID ) ;
    public final void rule__RuleStatement__StatementAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2854:1: ( ( RULE_ID ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2855:1: ( RULE_ID )
            {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2855:1: ( RULE_ID )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2856:1: RULE_ID
            {
             before(grammarAccess.getRuleStatementAccess().getStatementIDTerminalRuleCall_1_0()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__RuleStatement__StatementAssignment_15649); 
             after(grammarAccess.getRuleStatementAccess().getStatementIDTerminalRuleCall_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RuleStatement__StatementAssignment_1"


    // $ANTLR start "rule__RuleStatement__ExpessionAssignment_3"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2865:1: rule__RuleStatement__ExpessionAssignment_3 : ( ruleExpression ) ;
    public final void rule__RuleStatement__ExpessionAssignment_3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2869:1: ( ( ruleExpression ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2870:1: ( ruleExpression )
            {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2870:1: ( ruleExpression )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2871:1: ruleExpression
            {
             before(grammarAccess.getRuleStatementAccess().getExpessionExpressionParserRuleCall_3_0()); 
            pushFollow(FOLLOW_ruleExpression_in_rule__RuleStatement__ExpessionAssignment_35680);
            ruleExpression();

            state._fsp--;

             after(grammarAccess.getRuleStatementAccess().getExpessionExpressionParserRuleCall_3_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RuleStatement__ExpessionAssignment_3"


    // $ANTLR start "rule__RuleStatement__OutputAssignment_4_1"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2880:1: rule__RuleStatement__OutputAssignment_4_1 : ( ( RULE_ID ) ) ;
    public final void rule__RuleStatement__OutputAssignment_4_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2884:1: ( ( ( RULE_ID ) ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2885:1: ( ( RULE_ID ) )
            {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2885:1: ( ( RULE_ID ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2886:1: ( RULE_ID )
            {
             before(grammarAccess.getRuleStatementAccess().getOutputOutputCrossReference_4_1_0()); 
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2887:1: ( RULE_ID )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2888:1: RULE_ID
            {
             before(grammarAccess.getRuleStatementAccess().getOutputOutputIDTerminalRuleCall_4_1_0_1()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__RuleStatement__OutputAssignment_4_15715); 
             after(grammarAccess.getRuleStatementAccess().getOutputOutputIDTerminalRuleCall_4_1_0_1()); 

            }

             after(grammarAccess.getRuleStatementAccess().getOutputOutputCrossReference_4_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RuleStatement__OutputAssignment_4_1"


    // $ANTLR start "rule__RuleStatement__OutputAttributeAssignment_4_3"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2899:1: rule__RuleStatement__OutputAttributeAssignment_4_3 : ( RULE_ID ) ;
    public final void rule__RuleStatement__OutputAttributeAssignment_4_3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2903:1: ( ( RULE_ID ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2904:1: ( RULE_ID )
            {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2904:1: ( RULE_ID )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2905:1: RULE_ID
            {
             before(grammarAccess.getRuleStatementAccess().getOutputAttributeIDTerminalRuleCall_4_3_0()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__RuleStatement__OutputAttributeAssignment_4_35750); 
             after(grammarAccess.getRuleStatementAccess().getOutputAttributeIDTerminalRuleCall_4_3_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RuleStatement__OutputAttributeAssignment_4_3"


    // $ANTLR start "rule__Expression__LeftAssignment_0"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2914:1: rule__Expression__LeftAssignment_0 : ( ruleLeftAttribute ) ;
    public final void rule__Expression__LeftAssignment_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2918:1: ( ( ruleLeftAttribute ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2919:1: ( ruleLeftAttribute )
            {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2919:1: ( ruleLeftAttribute )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2920:1: ruleLeftAttribute
            {
             before(grammarAccess.getExpressionAccess().getLeftLeftAttributeParserRuleCall_0_0()); 
            pushFollow(FOLLOW_ruleLeftAttribute_in_rule__Expression__LeftAssignment_05781);
            ruleLeftAttribute();

            state._fsp--;

             after(grammarAccess.getExpressionAccess().getLeftLeftAttributeParserRuleCall_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Expression__LeftAssignment_0"


    // $ANTLR start "rule__Expression__LeftAssignment_1_1_0"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2929:1: rule__Expression__LeftAssignment_1_1_0 : ( ruleLeftAttribute ) ;
    public final void rule__Expression__LeftAssignment_1_1_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2933:1: ( ( ruleLeftAttribute ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2934:1: ( ruleLeftAttribute )
            {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2934:1: ( ruleLeftAttribute )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2935:1: ruleLeftAttribute
            {
             before(grammarAccess.getExpressionAccess().getLeftLeftAttributeParserRuleCall_1_1_0_0()); 
            pushFollow(FOLLOW_ruleLeftAttribute_in_rule__Expression__LeftAssignment_1_1_05812);
            ruleLeftAttribute();

            state._fsp--;

             after(grammarAccess.getExpressionAccess().getLeftLeftAttributeParserRuleCall_1_1_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Expression__LeftAssignment_1_1_0"


    // $ANTLR start "rule__Expression__RightAssignment_3"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2944:1: rule__Expression__RightAssignment_3 : ( ruleRightAttribute ) ;
    public final void rule__Expression__RightAssignment_3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2948:1: ( ( ruleRightAttribute ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2949:1: ( ruleRightAttribute )
            {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2949:1: ( ruleRightAttribute )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2950:1: ruleRightAttribute
            {
             before(grammarAccess.getExpressionAccess().getRightRightAttributeParserRuleCall_3_0()); 
            pushFollow(FOLLOW_ruleRightAttribute_in_rule__Expression__RightAssignment_35843);
            ruleRightAttribute();

            state._fsp--;

             after(grammarAccess.getExpressionAccess().getRightRightAttributeParserRuleCall_3_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Expression__RightAssignment_3"


    // $ANTLR start "rule__Expression__RightAssignment_4_1_0"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2959:1: rule__Expression__RightAssignment_4_1_0 : ( ruleRightAttribute ) ;
    public final void rule__Expression__RightAssignment_4_1_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2963:1: ( ( ruleRightAttribute ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2964:1: ( ruleRightAttribute )
            {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2964:1: ( ruleRightAttribute )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2965:1: ruleRightAttribute
            {
             before(grammarAccess.getExpressionAccess().getRightRightAttributeParserRuleCall_4_1_0_0()); 
            pushFollow(FOLLOW_ruleRightAttribute_in_rule__Expression__RightAssignment_4_1_05874);
            ruleRightAttribute();

            state._fsp--;

             after(grammarAccess.getExpressionAccess().getRightRightAttributeParserRuleCall_4_1_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Expression__RightAssignment_4_1_0"


    // $ANTLR start "rule__RightAttribute__TargetAssignment_0"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2974:1: rule__RightAttribute__TargetAssignment_0 : ( ( RULE_ID ) ) ;
    public final void rule__RightAttribute__TargetAssignment_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2978:1: ( ( ( RULE_ID ) ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2979:1: ( ( RULE_ID ) )
            {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2979:1: ( ( RULE_ID ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2980:1: ( RULE_ID )
            {
             before(grammarAccess.getRightAttributeAccess().getTargetTargetCrossReference_0_0()); 
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2981:1: ( RULE_ID )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2982:1: RULE_ID
            {
             before(grammarAccess.getRightAttributeAccess().getTargetTargetIDTerminalRuleCall_0_0_1()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__RightAttribute__TargetAssignment_05909); 
             after(grammarAccess.getRightAttributeAccess().getTargetTargetIDTerminalRuleCall_0_0_1()); 

            }

             after(grammarAccess.getRightAttributeAccess().getTargetTargetCrossReference_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RightAttribute__TargetAssignment_0"


    // $ANTLR start "rule__RightAttribute__AttributeNameAssignment_2"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2993:1: rule__RightAttribute__AttributeNameAssignment_2 : ( RULE_ID ) ;
    public final void rule__RightAttribute__AttributeNameAssignment_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2997:1: ( ( RULE_ID ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2998:1: ( RULE_ID )
            {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2998:1: ( RULE_ID )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:2999:1: RULE_ID
            {
             before(grammarAccess.getRightAttributeAccess().getAttributeNameIDTerminalRuleCall_2_0()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__RightAttribute__AttributeNameAssignment_25944); 
             after(grammarAccess.getRightAttributeAccess().getAttributeNameIDTerminalRuleCall_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RightAttribute__AttributeNameAssignment_2"


    // $ANTLR start "rule__LeftAttribute__SourceAssignment_0"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:3008:1: rule__LeftAttribute__SourceAssignment_0 : ( ( RULE_ID ) ) ;
    public final void rule__LeftAttribute__SourceAssignment_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:3012:1: ( ( ( RULE_ID ) ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:3013:1: ( ( RULE_ID ) )
            {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:3013:1: ( ( RULE_ID ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:3014:1: ( RULE_ID )
            {
             before(grammarAccess.getLeftAttributeAccess().getSourceSourceCrossReference_0_0()); 
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:3015:1: ( RULE_ID )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:3016:1: RULE_ID
            {
             before(grammarAccess.getLeftAttributeAccess().getSourceSourceIDTerminalRuleCall_0_0_1()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__LeftAttribute__SourceAssignment_05979); 
             after(grammarAccess.getLeftAttributeAccess().getSourceSourceIDTerminalRuleCall_0_0_1()); 

            }

             after(grammarAccess.getLeftAttributeAccess().getSourceSourceCrossReference_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__LeftAttribute__SourceAssignment_0"


    // $ANTLR start "rule__LeftAttribute__AttributeNameAssignment_2"
    // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:3027:1: rule__LeftAttribute__AttributeNameAssignment_2 : ( RULE_ID ) ;
    public final void rule__LeftAttribute__AttributeNameAssignment_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:3031:1: ( ( RULE_ID ) )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:3032:1: ( RULE_ID )
            {
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:3032:1: ( RULE_ID )
            // ../org.dslintegration.MRules.ui/src-gen/org/dslintegration/ui/contentassist/antlr/internal/InternalMRules.g:3033:1: RULE_ID
            {
             before(grammarAccess.getLeftAttributeAccess().getAttributeNameIDTerminalRuleCall_2_0()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__LeftAttribute__AttributeNameAssignment_26014); 
             after(grammarAccess.getLeftAttributeAccess().getAttributeNameIDTerminalRuleCall_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__LeftAttribute__AttributeNameAssignment_2"

    // Delegated rules


 

    public static final BitSet FOLLOW_ruleMergeRules_in_entryRuleMergeRules61 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleMergeRules68 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__MergeRules__Group__0_in_ruleMergeRules94 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleQName_in_entryRuleQName121 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleQName128 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__QName__Group__0_in_ruleQName154 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleSource_in_entryRuleSource183 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleSource190 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Source__Group__0_in_ruleSource216 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleTarget_in_entryRuleTarget243 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleTarget250 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Target__Group__0_in_ruleTarget276 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleOutput_in_entryRuleOutput303 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleOutput310 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Output__Group__0_in_ruleOutput336 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleRule_in_entryRuleRule363 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleRule370 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Rule__Group__0_in_ruleRule396 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleRuleStatement_in_entryRuleRuleStatement423 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleRuleStatement430 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__RuleStatement__Group__0_in_ruleRuleStatement456 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleExpression_in_entryRuleExpression483 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleExpression490 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Expression__Group__0_in_ruleExpression516 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleRightAttribute_in_entryRuleRightAttribute543 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleRightAttribute550 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__RightAttribute__Group__0_in_ruleRightAttribute576 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleLeftAttribute_in_entryRuleLeftAttribute603 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleLeftAttribute610 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__LeftAttribute__Group__0_in_ruleLeftAttribute636 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_11_in_rule__MergeRules__Alternatives_6_1673 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_12_in_rule__MergeRules__Alternatives_6_1693 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Expression__LeftAssignment_1_1_0_in_rule__Expression__Alternatives_1_1727 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_STRING_in_rule__Expression__Alternatives_1_1745 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Expression__RightAssignment_4_1_0_in_rule__Expression__Alternatives_4_1777 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_STRING_in_rule__Expression__Alternatives_4_1795 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__MergeRules__Group__0__Impl_in_rule__MergeRules__Group__0825 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_rule__MergeRules__Group__1_in_rule__MergeRules__Group__0828 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_13_in_rule__MergeRules__Group__0__Impl856 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__MergeRules__Group__1__Impl_in_rule__MergeRules__Group__1887 = new BitSet(new long[]{0x0000000000004000L});
    public static final BitSet FOLLOW_rule__MergeRules__Group__2_in_rule__MergeRules__Group__1890 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__MergeRules__MetamodelPathLeftAssignment_1_in_rule__MergeRules__Group__1__Impl917 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__MergeRules__Group__2__Impl_in_rule__MergeRules__Group__2947 = new BitSet(new long[]{0x0000000000008000L});
    public static final BitSet FOLLOW_rule__MergeRules__Group__3_in_rule__MergeRules__Group__2950 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_14_in_rule__MergeRules__Group__2__Impl978 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__MergeRules__Group__3__Impl_in_rule__MergeRules__Group__31009 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_rule__MergeRules__Group__4_in_rule__MergeRules__Group__31012 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_15_in_rule__MergeRules__Group__3__Impl1040 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__MergeRules__Group__4__Impl_in_rule__MergeRules__Group__41071 = new BitSet(new long[]{0x0000000000004000L});
    public static final BitSet FOLLOW_rule__MergeRules__Group__5_in_rule__MergeRules__Group__41074 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__MergeRules__MetamodelPathRightAssignment_4_in_rule__MergeRules__Group__4__Impl1101 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__MergeRules__Group__5__Impl_in_rule__MergeRules__Group__51131 = new BitSet(new long[]{0x0000000008100000L});
    public static final BitSet FOLLOW_rule__MergeRules__Group__6_in_rule__MergeRules__Group__51134 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_14_in_rule__MergeRules__Group__5__Impl1162 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__MergeRules__Group__6__Impl_in_rule__MergeRules__Group__61193 = new BitSet(new long[]{0x0000000008100000L});
    public static final BitSet FOLLOW_rule__MergeRules__Group__7_in_rule__MergeRules__Group__61196 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__MergeRules__Group_6__0_in_rule__MergeRules__Group__6__Impl1223 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__MergeRules__Group__7__Impl_in_rule__MergeRules__Group__71254 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__MergeRules__RulesAssignment_7_in_rule__MergeRules__Group__7__Impl1283 = new BitSet(new long[]{0x0000000008100002L});
    public static final BitSet FOLLOW_rule__MergeRules__RulesAssignment_7_in_rule__MergeRules__Group__7__Impl1295 = new BitSet(new long[]{0x0000000008100002L});
    public static final BitSet FOLLOW_rule__MergeRules__Group_6__0__Impl_in_rule__MergeRules__Group_6__01344 = new BitSet(new long[]{0x0000000000001800L});
    public static final BitSet FOLLOW_rule__MergeRules__Group_6__1_in_rule__MergeRules__Group_6__01347 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__MergeRules__DefaultDominantAssignment_6_0_in_rule__MergeRules__Group_6__0__Impl1374 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__MergeRules__Group_6__1__Impl_in_rule__MergeRules__Group_6__11404 = new BitSet(new long[]{0x0000000000004000L});
    public static final BitSet FOLLOW_rule__MergeRules__Group_6__2_in_rule__MergeRules__Group_6__11407 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__MergeRules__Alternatives_6_1_in_rule__MergeRules__Group_6__1__Impl1434 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__MergeRules__Group_6__2__Impl_in_rule__MergeRules__Group_6__21464 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_14_in_rule__MergeRules__Group_6__2__Impl1492 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__QName__Group__0__Impl_in_rule__QName__Group__01529 = new BitSet(new long[]{0x0000000000010000L});
    public static final BitSet FOLLOW_rule__QName__Group__1_in_rule__QName__Group__01532 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__QName__Group__0__Impl1559 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__QName__Group__1__Impl_in_rule__QName__Group__11588 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__QName__Group_1__0_in_rule__QName__Group__1__Impl1615 = new BitSet(new long[]{0x0000000000010002L});
    public static final BitSet FOLLOW_rule__QName__Group_1__0__Impl_in_rule__QName__Group_1__01650 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_rule__QName__Group_1__1_in_rule__QName__Group_1__01653 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_16_in_rule__QName__Group_1__0__Impl1681 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__QName__Group_1__1__Impl_in_rule__QName__Group_1__11712 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__QName__Group_1__1__Impl1739 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Source__Group__0__Impl_in_rule__Source__Group__01772 = new BitSet(new long[]{0x0000000020020000L});
    public static final BitSet FOLLOW_rule__Source__Group__1_in_rule__Source__Group__01775 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Source__DominantAssignment_0_in_rule__Source__Group__0__Impl1802 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Source__Group__1__Impl_in_rule__Source__Group__11833 = new BitSet(new long[]{0x0000000020020000L});
    public static final BitSet FOLLOW_rule__Source__Group__2_in_rule__Source__Group__11836 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Source__GuardAssignment_1_in_rule__Source__Group__1__Impl1863 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Source__Group__2__Impl_in_rule__Source__Group__21894 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_rule__Source__Group__3_in_rule__Source__Group__21897 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_17_in_rule__Source__Group__2__Impl1925 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Source__Group__3__Impl_in_rule__Source__Group__31956 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_rule__Source__Group__4_in_rule__Source__Group__31959 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Source__QualifiedNameAssignment_3_in_rule__Source__Group__3__Impl1986 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Source__Group__4__Impl_in_rule__Source__Group__42016 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Source__NameAssignment_4_in_rule__Source__Group__4__Impl2043 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Target__Group__0__Impl_in_rule__Target__Group__02083 = new BitSet(new long[]{0x0000000020040000L});
    public static final BitSet FOLLOW_rule__Target__Group__1_in_rule__Target__Group__02086 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Target__DominantAssignment_0_in_rule__Target__Group__0__Impl2113 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Target__Group__1__Impl_in_rule__Target__Group__12144 = new BitSet(new long[]{0x0000000020040000L});
    public static final BitSet FOLLOW_rule__Target__Group__2_in_rule__Target__Group__12147 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Target__GuardAssignment_1_in_rule__Target__Group__1__Impl2174 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Target__Group__2__Impl_in_rule__Target__Group__22205 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_rule__Target__Group__3_in_rule__Target__Group__22208 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_18_in_rule__Target__Group__2__Impl2236 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Target__Group__3__Impl_in_rule__Target__Group__32267 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_rule__Target__Group__4_in_rule__Target__Group__32270 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Target__QualifiedNameAssignment_3_in_rule__Target__Group__3__Impl2297 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Target__Group__4__Impl_in_rule__Target__Group__42327 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Target__NameAssignment_4_in_rule__Target__Group__4__Impl2354 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Output__Group__0__Impl_in_rule__Output__Group__02394 = new BitSet(new long[]{0x0000000000080000L});
    public static final BitSet FOLLOW_rule__Output__Group__1_in_rule__Output__Group__02397 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Output__CreateAssignment_0_in_rule__Output__Group__0__Impl2424 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Output__Group__1__Impl_in_rule__Output__Group__12455 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_rule__Output__Group__2_in_rule__Output__Group__12458 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_19_in_rule__Output__Group__1__Impl2486 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Output__Group__2__Impl_in_rule__Output__Group__22517 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_rule__Output__Group__3_in_rule__Output__Group__22520 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Output__QualifiedNameAssignment_2_in_rule__Output__Group__2__Impl2547 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Output__Group__3__Impl_in_rule__Output__Group__32577 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Output__NameAssignment_3_in_rule__Output__Group__3__Impl2604 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Rule__Group__0__Impl_in_rule__Rule__Group__02642 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_rule__Rule__Group__1_in_rule__Rule__Group__02645 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_20_in_rule__Rule__Group__0__Impl2673 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Rule__Group__1__Impl_in_rule__Rule__Group__12704 = new BitSet(new long[]{0x0000000000200000L});
    public static final BitSet FOLLOW_rule__Rule__Group__2_in_rule__Rule__Group__12707 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Rule__RuleNameAssignment_1_in_rule__Rule__Group__1__Impl2734 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Rule__Group__2__Impl_in_rule__Rule__Group__22764 = new BitSet(new long[]{0x0000000030020000L});
    public static final BitSet FOLLOW_rule__Rule__Group__3_in_rule__Rule__Group__22767 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_21_in_rule__Rule__Group__2__Impl2795 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Rule__Group__3__Impl_in_rule__Rule__Group__32826 = new BitSet(new long[]{0x0000000000004000L});
    public static final BitSet FOLLOW_rule__Rule__Group__4_in_rule__Rule__Group__32829 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Rule__SourceAssignment_3_in_rule__Rule__Group__3__Impl2856 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Rule__Group__4__Impl_in_rule__Rule__Group__42886 = new BitSet(new long[]{0x0000000030040000L});
    public static final BitSet FOLLOW_rule__Rule__Group__5_in_rule__Rule__Group__42889 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_14_in_rule__Rule__Group__4__Impl2917 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Rule__Group__5__Impl_in_rule__Rule__Group__52948 = new BitSet(new long[]{0x0000000000004000L});
    public static final BitSet FOLLOW_rule__Rule__Group__6_in_rule__Rule__Group__52951 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Rule__TargetAssignment_5_in_rule__Rule__Group__5__Impl2978 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Rule__Group__6__Impl_in_rule__Rule__Group__63008 = new BitSet(new long[]{0x0000000040C80000L});
    public static final BitSet FOLLOW_rule__Rule__Group__7_in_rule__Rule__Group__63011 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_14_in_rule__Rule__Group__6__Impl3039 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Rule__Group__7__Impl_in_rule__Rule__Group__73070 = new BitSet(new long[]{0x0000000040C80000L});
    public static final BitSet FOLLOW_rule__Rule__Group__8_in_rule__Rule__Group__73073 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Rule__Group_7__0_in_rule__Rule__Group__7__Impl3100 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Rule__Group__8__Impl_in_rule__Rule__Group__83131 = new BitSet(new long[]{0x0000000040C80000L});
    public static final BitSet FOLLOW_rule__Rule__Group__9_in_rule__Rule__Group__83134 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Rule__StatementsAssignment_8_in_rule__Rule__Group__8__Impl3161 = new BitSet(new long[]{0x0000000000800002L});
    public static final BitSet FOLLOW_rule__Rule__Group__9__Impl_in_rule__Rule__Group__93192 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_22_in_rule__Rule__Group__9__Impl3220 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Rule__Group_7__0__Impl_in_rule__Rule__Group_7__03271 = new BitSet(new long[]{0x0000000000004000L});
    public static final BitSet FOLLOW_rule__Rule__Group_7__1_in_rule__Rule__Group_7__03274 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Rule__OutputAssignment_7_0_in_rule__Rule__Group_7__0__Impl3301 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Rule__Group_7__1__Impl_in_rule__Rule__Group_7__13331 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_14_in_rule__Rule__Group_7__1__Impl3359 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__RuleStatement__Group__0__Impl_in_rule__RuleStatement__Group__03394 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_rule__RuleStatement__Group__1_in_rule__RuleStatement__Group__03397 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_23_in_rule__RuleStatement__Group__0__Impl3425 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__RuleStatement__Group__1__Impl_in_rule__RuleStatement__Group__13456 = new BitSet(new long[]{0x0000000001000000L});
    public static final BitSet FOLLOW_rule__RuleStatement__Group__2_in_rule__RuleStatement__Group__13459 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__RuleStatement__StatementAssignment_1_in_rule__RuleStatement__Group__1__Impl3486 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__RuleStatement__Group__2__Impl_in_rule__RuleStatement__Group__23516 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_rule__RuleStatement__Group__3_in_rule__RuleStatement__Group__23519 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_24_in_rule__RuleStatement__Group__2__Impl3547 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__RuleStatement__Group__3__Impl_in_rule__RuleStatement__Group__33578 = new BitSet(new long[]{0x0000000000084000L});
    public static final BitSet FOLLOW_rule__RuleStatement__Group__4_in_rule__RuleStatement__Group__33581 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__RuleStatement__ExpessionAssignment_3_in_rule__RuleStatement__Group__3__Impl3608 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__RuleStatement__Group__4__Impl_in_rule__RuleStatement__Group__43638 = new BitSet(new long[]{0x0000000000084000L});
    public static final BitSet FOLLOW_rule__RuleStatement__Group__5_in_rule__RuleStatement__Group__43641 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__RuleStatement__Group_4__0_in_rule__RuleStatement__Group__4__Impl3668 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__RuleStatement__Group__5__Impl_in_rule__RuleStatement__Group__53699 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_14_in_rule__RuleStatement__Group__5__Impl3727 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__RuleStatement__Group_4__0__Impl_in_rule__RuleStatement__Group_4__03770 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_rule__RuleStatement__Group_4__1_in_rule__RuleStatement__Group_4__03773 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_19_in_rule__RuleStatement__Group_4__0__Impl3801 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__RuleStatement__Group_4__1__Impl_in_rule__RuleStatement__Group_4__13832 = new BitSet(new long[]{0x0000000000010000L});
    public static final BitSet FOLLOW_rule__RuleStatement__Group_4__2_in_rule__RuleStatement__Group_4__13835 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__RuleStatement__OutputAssignment_4_1_in_rule__RuleStatement__Group_4__1__Impl3862 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__RuleStatement__Group_4__2__Impl_in_rule__RuleStatement__Group_4__23892 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_rule__RuleStatement__Group_4__3_in_rule__RuleStatement__Group_4__23895 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_16_in_rule__RuleStatement__Group_4__2__Impl3923 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__RuleStatement__Group_4__3__Impl_in_rule__RuleStatement__Group_4__33954 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__RuleStatement__OutputAttributeAssignment_4_3_in_rule__RuleStatement__Group_4__3__Impl3981 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Expression__Group__0__Impl_in_rule__Expression__Group__04019 = new BitSet(new long[]{0x0000000006000000L});
    public static final BitSet FOLLOW_rule__Expression__Group__1_in_rule__Expression__Group__04022 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Expression__LeftAssignment_0_in_rule__Expression__Group__0__Impl4049 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Expression__Group__1__Impl_in_rule__Expression__Group__14079 = new BitSet(new long[]{0x0000000006000000L});
    public static final BitSet FOLLOW_rule__Expression__Group__2_in_rule__Expression__Group__14082 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Expression__Group_1__0_in_rule__Expression__Group__1__Impl4109 = new BitSet(new long[]{0x0000000004000002L});
    public static final BitSet FOLLOW_rule__Expression__Group__2__Impl_in_rule__Expression__Group__24140 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_rule__Expression__Group__3_in_rule__Expression__Group__24143 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_25_in_rule__Expression__Group__2__Impl4171 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Expression__Group__3__Impl_in_rule__Expression__Group__34202 = new BitSet(new long[]{0x0000000004000000L});
    public static final BitSet FOLLOW_rule__Expression__Group__4_in_rule__Expression__Group__34205 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Expression__RightAssignment_3_in_rule__Expression__Group__3__Impl4232 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Expression__Group__4__Impl_in_rule__Expression__Group__44262 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Expression__Group_4__0_in_rule__Expression__Group__4__Impl4289 = new BitSet(new long[]{0x0000000004000002L});
    public static final BitSet FOLLOW_rule__Expression__Group_1__0__Impl_in_rule__Expression__Group_1__04330 = new BitSet(new long[]{0x0000000000000030L});
    public static final BitSet FOLLOW_rule__Expression__Group_1__1_in_rule__Expression__Group_1__04333 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_26_in_rule__Expression__Group_1__0__Impl4361 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Expression__Group_1__1__Impl_in_rule__Expression__Group_1__14392 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Expression__Alternatives_1_1_in_rule__Expression__Group_1__1__Impl4419 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Expression__Group_4__0__Impl_in_rule__Expression__Group_4__04453 = new BitSet(new long[]{0x0000000000000030L});
    public static final BitSet FOLLOW_rule__Expression__Group_4__1_in_rule__Expression__Group_4__04456 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_26_in_rule__Expression__Group_4__0__Impl4484 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Expression__Group_4__1__Impl_in_rule__Expression__Group_4__14515 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Expression__Alternatives_4_1_in_rule__Expression__Group_4__1__Impl4542 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__RightAttribute__Group__0__Impl_in_rule__RightAttribute__Group__04576 = new BitSet(new long[]{0x0000000000010000L});
    public static final BitSet FOLLOW_rule__RightAttribute__Group__1_in_rule__RightAttribute__Group__04579 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__RightAttribute__TargetAssignment_0_in_rule__RightAttribute__Group__0__Impl4606 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__RightAttribute__Group__1__Impl_in_rule__RightAttribute__Group__14636 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_rule__RightAttribute__Group__2_in_rule__RightAttribute__Group__14639 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_16_in_rule__RightAttribute__Group__1__Impl4667 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__RightAttribute__Group__2__Impl_in_rule__RightAttribute__Group__24698 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__RightAttribute__AttributeNameAssignment_2_in_rule__RightAttribute__Group__2__Impl4725 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__LeftAttribute__Group__0__Impl_in_rule__LeftAttribute__Group__04761 = new BitSet(new long[]{0x0000000000010000L});
    public static final BitSet FOLLOW_rule__LeftAttribute__Group__1_in_rule__LeftAttribute__Group__04764 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__LeftAttribute__SourceAssignment_0_in_rule__LeftAttribute__Group__0__Impl4791 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__LeftAttribute__Group__1__Impl_in_rule__LeftAttribute__Group__14821 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_rule__LeftAttribute__Group__2_in_rule__LeftAttribute__Group__14824 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_16_in_rule__LeftAttribute__Group__1__Impl4852 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__LeftAttribute__Group__2__Impl_in_rule__LeftAttribute__Group__24883 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__LeftAttribute__AttributeNameAssignment_2_in_rule__LeftAttribute__Group__2__Impl4910 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_STRING_in_rule__MergeRules__MetamodelPathLeftAssignment_14951 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_STRING_in_rule__MergeRules__MetamodelPathRightAssignment_44982 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_27_in_rule__MergeRules__DefaultDominantAssignment_6_05018 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleRule_in_rule__MergeRules__RulesAssignment_75057 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_28_in_rule__Source__DominantAssignment_05093 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_29_in_rule__Source__GuardAssignment_15137 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleQName_in_rule__Source__QualifiedNameAssignment_35176 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__Source__NameAssignment_45207 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_28_in_rule__Target__DominantAssignment_05243 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_29_in_rule__Target__GuardAssignment_15287 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleQName_in_rule__Target__QualifiedNameAssignment_35326 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__Target__NameAssignment_45357 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_30_in_rule__Output__CreateAssignment_05393 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleQName_in_rule__Output__QualifiedNameAssignment_25432 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__Output__NameAssignment_35463 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__Rule__RuleNameAssignment_15494 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleSource_in_rule__Rule__SourceAssignment_35525 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleTarget_in_rule__Rule__TargetAssignment_55556 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleOutput_in_rule__Rule__OutputAssignment_7_05587 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleRuleStatement_in_rule__Rule__StatementsAssignment_85618 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__RuleStatement__StatementAssignment_15649 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleExpression_in_rule__RuleStatement__ExpessionAssignment_35680 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__RuleStatement__OutputAssignment_4_15715 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__RuleStatement__OutputAttributeAssignment_4_35750 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleLeftAttribute_in_rule__Expression__LeftAssignment_05781 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleLeftAttribute_in_rule__Expression__LeftAssignment_1_1_05812 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleRightAttribute_in_rule__Expression__RightAssignment_35843 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleRightAttribute_in_rule__Expression__RightAssignment_4_1_05874 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__RightAttribute__TargetAssignment_05909 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__RightAttribute__AttributeNameAssignment_25944 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__LeftAttribute__SourceAssignment_05979 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__LeftAttribute__AttributeNameAssignment_26014 = new BitSet(new long[]{0x0000000000000002L});

}